如何停止提交表单?

时间:2015-01-09 23:00:51

标签: javascript jquery asp.net webforms

我正在使用asp.net webform页面。我有一些javascript检查一些动态生成的字段是否有值,然后如果没有则显示一条消息。问题是,当检查失败时,我还没有办法阻止提交表单。

<form id="myform" name="myform" runat="server" onsubmit="finalCheck();">

我尝试过按钮和输入类型:

<button type="submit">submit</button>

<input type="submit" value="submit"/>

finalCheck()方法总是执行并返回false。但是形式仍然存在。

我还需要做些什么来防止提交表单吗?

3 个答案:

答案 0 :(得分:2)

像这样写你的HTML:

<form id="myform" name="myform" runat="server" onsubmit="finalCheck(event);">

然后进入你的finalCheck(event)写这个,在第一行的良好实践:

event.preventDefault();

将停止提交,您可以在preventDefault函数之后添加更多代码来处理表单数据

答案 1 :(得分:1)

事件处理程序中的代码必须从它调用的函数返回值:

onsubmit="return finalCheck();"

答案 2 :(得分:0)

事件处理函数需要返回false。该功能为onsubmit,而非finalCheck

onsubmit="return finalCheck();"

如果您使用的是现代代码,则可以在事件对象上调用preventDefault

<script>
document.getElementById('myform').addEventListener('submit', finalCheck);

function finalCheck(event) {
    var myForm = this;
    // do stuff
    event.preventDefault();
}
</script>