###前提・実現したいこと
onsubmit="return check();"を使い、チェックボックスにチェックが付いていることを確認し、ポスト送信完了時にチェックボックスを表示しているモーダルを閉じて次の動画を表示させたい。
###発生している問題・エラーメッセージ
前回も同等の質問をし解決出来たと思っていましたが上手く動作せず、再度お願い致します。
onsubmit="return check();"を使い、チェックボックスの入力未入力、post送信のデータの受信までは動作確認はできましたが、jsファイルのcheck()関数内にモーダルを閉じて次の動画を表示するためのコードを含めるとpost送信ができなくなってしまいます。return falseが原因?
function check()内でpost送信と同時に別の動作(モーダルを閉じる、次の動画を読み込む)をさせることは可能でしょうか?
出来ない場合、post送信完了後、次の関数を呼び出して次の動作(モーダルを閉じる、次の動画を読み込む)をさせることは可能でしょうか?
その場合、どのように書いていいのかネットで調べているのですがわからなかったのでどのように書くか教えて頂けませんか。
###該当のソースコード
javascript
1このコードだとpost送信は成功する 2function check() { 3 var check_count = $("[name='check[]']:checked").length; 4 if (check_count == 0 ){ 5 alert('何もチェックされていません'); 6 return false; 7 }else{ 8 var checks=[]; 9 $("[name='check[]']:checked").each(function(){ 10 checks.push(this.value); 11 }); 12 } 13};
javascript
1このコードだとモーダルを閉じて、次の動画の取得はできるがpost送信が失敗してしまう。 2function check() { 3 var check_count = $("[name='check[]']:checked").length; 4 if (check_count == 0 ){ 5 alert('何もチェックされていません'); 6 return false; 7 }else{ 8 var checks=[]; 9 $("[name='check[]']:checked").each(function(){ 10 checks.push(this.value); 11 }); 12 $('#myModal').modal('hide'); 13 if(index < videos.length-1){ 14 index++; 15 ytId = videos[index].Video.v_ytid; 16 } 17 return false; //trueだとモーダルも動画も動作しない 18 } 19}; 20
javascript
1前回ajaxで試した時のコード。(今回は使っていません) 2 $('.send').click(function(){ 3 var check_count = $("[name='check[]']:checked").length; 4 if (check_count == 0 ){ 5 return false; 6 }else{ 7 var checks=[]; 8 $("[name='check[]']:checked").each(function(){ 9 checks.push(this.value); 10 }); 11 12 $.ajax({ 13 type: "POST", 14 url: "", 15 dataType: "json", 16 data: {"checks":checks}, 17 success: function(){ 18 $('#myModal').modal('hide'); 19 if(index < videos.length-1){ 20 index++; 21 getElements(); 22 } 23 } 24 }); 25 return false; 26 } 27 });
###補足情報(言語/FW/ツール等のバージョンなど)
XAMPP 5.6.14-0
cakephp-2.7.8
jquery 1.11.0
回答2件
あなたの回答
tips
プレビュー