false を返すことは、フォームの送信メソッドでは有効になりません。
このような方法:
function success() {
//some validation logic
$.ajax(); // ajax call
return false;
}
誰が理由を教えてくれますか? なぜ機能しないのですか?大変お世話になりました。
false を返すことは、フォームの送信メソッドでは有効になりません。
このような方法:
function success() {
//some validation logic
$.ajax(); // ajax call
return false;
}
誰が理由を教えてくれますか? なぜ機能しないのですか?大変お世話になりました。
false を返すタイミングを教えてください。
私が理解している限りでは
<script type="text/javascript">
function validateData(){
var flag=0;
//Your validation logic here
//If validation is not proper then flag=1; else flag=0;
if(document.getElementById("text1").value==""){
flag=1;
}
if(flag==1){
return false;
} else {
$.ajax({
success: function(data){
}
});
}
}
</script>
<form name="abc" id="abc" onsubmit="javascript:return validateData()">
<input type="text" name="text1" id="text1"/>
<input type="submit" name="sub"/>
</form>
フォームの「onsubmit」メソッドは、送信を停止するために false を返す必要があります。表示されているのは、他の関数からの戻り値です。
その場合、2 つのことを修正する必要があります。<form>
タグのonsubmit
イベントを値で更新するreturn false;
か、さらに良いことに、メイン アクションを指定します。
A.form
タグ:
<form method="" action="" onsubmit="runExport(); return false;">
B.input
タグ:
<input type="submit" id="export" value="${appResources.report_common_label_generateReport}" onclick="return runExport();" />
return false;
理由action
その理由は、フォームの内容をターゲットに送信するデフォルトのアクションを防止するためです。そのため、偽の値を返すことで伝播を停止することで、それを防止しています。そして、その前に、JavaScript 呼び出しを行って、デフォルトの作業ではなく作業を行うようにします。:)