如何停止提交表单?
How to stop form being submitted?
我正在使用 asp.net 网络表单页面。我有一些 javascript 检查一些动态生成的字段是否有值,如果没有则显示一条消息。问题是我还没有找到一种方法来阻止此检查失败时提交表单。
<form id="myform" name="myform" runat="server" onsubmit="finalCheck();">
我试过按钮和输入类型:
<button type="submit">submit</button>
<input type="submit" value="submit"/>
finalCheck() 方法始终执行并 return 错误。但无论如何,表格都会出现。
我还需要做些什么来阻止提交表单吗?
事件处理程序中的代码必须return它调用的函数的值:
onsubmit="return finalCheck();"
事件处理函数需要 return 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>
这样写你的html:
<form id="myform" name="myform" runat="server" onsubmit="finalCheck(event);">
然后在你的 finalCheck(event)
中写下这个,在第一行作为良好实践:
event.preventDefault();
这将停止提交,您可以在 preventDefault
函数之后添加更多代码来处理表单数据
我正在使用 asp.net 网络表单页面。我有一些 javascript 检查一些动态生成的字段是否有值,如果没有则显示一条消息。问题是我还没有找到一种方法来阻止此检查失败时提交表单。
<form id="myform" name="myform" runat="server" onsubmit="finalCheck();">
我试过按钮和输入类型:
<button type="submit">submit</button>
<input type="submit" value="submit"/>
finalCheck() 方法始终执行并 return 错误。但无论如何,表格都会出现。
我还需要做些什么来阻止提交表单吗?
事件处理程序中的代码必须return它调用的函数的值:
onsubmit="return finalCheck();"
事件处理函数需要 return 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>
这样写你的html:
<form id="myform" name="myform" runat="server" onsubmit="finalCheck(event);">
然后在你的 finalCheck(event)
中写下这个,在第一行作为良好实践:
event.preventDefault();
这将停止提交,您可以在 preventDefault
函数之后添加更多代码来处理表单数据