前提・実現したいこと
onclick属性のcheckOrder関数で、エラーチェックを行えば済む話なのですが、
onclick属性で呼び出してるcheckOrder関数は、htmlとは別のjavascriptファイルで違ったエラー処理を行っているので、
できればhtmlファイル内にもう1つのエラーチェックのjavascriptを記述して、引っかかったら、
フォーム送信をキャンセルさせてエラーメッセージを表示させたいと思っています。
onsubmitを無効化したつもりなのですが飛んでしまいます。
ご教授のほどお願いします。
該当のソースコード
<div id="adrs2err"></div> //ここにエラーメッセージを表示。 <div id="adrs4err"></div> //ここにエラーメッセージを表示。 <input type="image" id = "nextbtn" src="/img/btn.gif" value="次へ" onclick="return checkOrder( document.orderForm );"> <script type='text/javascript'> $('#nextbtn').click(function(){ (省略) var return_flag = true; if(adrsData2 == ''){ $("#adrs2err").html("<span style='color:red;font-weight:bold'>※名前が指定されていません。</span>"); return_flag = false; }else{ $("#adrs2err").html(""); } if(adrsData4 == ''){ $("#adrs4err").html("<span style='color:red;font-weight:bold'>※電話番号が指定されていません。</span>"); return_flag = false; }else{ $("#adrs4err").html(""); } if(return_flag == false){ $('form').attr("onsubmit", "return false"); } });
試したこと
$('form').attr("action", "#");
リロードしてしまうので、divのエラーメッセージが消えてしまう。
追記。
実行すると、$('#nextbtn').click(function(){よりも、
先にcheckOrderのエラーチェックがかかり、出力されます。
checkOrderが動いた後に、$('#nextbtn').click(function()内で、formのsubmit属性を変更しても遅いということでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。