我有一张表格,我有一个“取消”和提交按钮。当用户提交表单时,如果未填写必填字段,我想提醒(“错误”)并停止提交表单。
这是我的简单jquery代码,但是当用户在警告框中单击“确定”按钮时,它会继续提交。
<script>
$(document).ready(function () {
$('#<%=btn_reddet.ClientID %>').click(function (event) {
alert("Error!");
event.preventDefault();
});
});
</script>
如何让它在提醒后停止提交?
答案 0 :(得分:1)
而不是.click
,您可以使用.submit
,只需返回false即可停止表单提交
$('#formID').on('submit',function (event) {
alert("Error!");
return false;
});
答案 1 :(得分:1)
使用$('form').submit()
事件代替$('submit_button').click()
。如果验证失败,则return false
:
$(document).on('submit','form',function(e) {
var validated = true;
// some validation code which sets 'validated = false' if it fails
return validated;
});
答案 2 :(得分:0)
如果你想使用
event.preventDefault();
然后我相信还需要跟着
event.stopPropagation();
否则你可以使用return false。
答案 3 :(得分:0)
event.preventDefault()并且返回false不起作用,出现错误时存在差异(读取:错误)以及event.preventDefault()是否已经执行,这里是一个示例这很重要,为什么返回false并不总是有效:
$('a').click( function(e){
$(this).css("background", "green");
err(); // err is not defined, so JavaScript will throw error, and the browser will ignore rest of the code (return false;). The browser will perform the default action.
return false;
});
$('a').click( function(e){
e.preventDefault();
$(this).css("background", "green");
err(); // err is not defined, so JavaScript will throw error, and the browser will ignore rest of the code. We already called event.preventDefault() so the browser will not perform default action.
});