当 JavaScript 全局变量设置为 0 时,我想取消提交表单:
<script type="text/javascript">
form_valid = 1;
function verifMdps() { // called in the onblur of a text input
if (!mdpEquals()) {
$('#errmsg_oldmdp').text("<?php echo _getText('service.personne.tbr_title.mdp_diff'); ?>");
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");
});
关于javascript - 如何取消表单提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041009/