如何取消表单提交?
我想在javascript全局变量设置为0时取消提交表单:
form_valid = 1; function verifMdps() { // called in the onblur of a text input if (!mdpEquals()) { $('#errmsg_oldmdp').text(""); setTimeout(function(){$('#oldmdp').focus();}, 10); form_valid = 0; } else $('#errmsg_oldmdp').text(""); } $(document).ready(function() { $("#frm").on("submit", function() { $( "input[onblur]:visible:enabled" ).each(function(){ $(this).blur(); if (form_valid == 0) return false; }); if ( mode == "ajout" ) $('#mode_').val("ajout"); else $('#mode_').val("modif"); });
即使我写了return false
,表单仍然会被提交! 那么如何取消提交?
使用preventDefault来阻止默认操作。
$("#frm").on("submit", function(e) { $( "input[onblur]:visible:enabled" ).each(function(){ $(this).blur(); if (form_valid == 0) e.preventDefault(); }); if ( mode == "ajout" ) $('#mode_').val("ajout"); else $('#mode_').val("modif"); });