我正在使用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。但是形式仍然存在。
我还需要做些什么来防止提交表单吗?
答案 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>