[英]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()方法始終執行並返回false。 但是表格還是可以的。
我還需要做些其他事情來防止表單被提交嗎?
像這樣寫你的html:
<form id="myform" name="myform" runat="server" onsubmit="finalCheck(event);">
然后在第一行finalCheck(event)
寫入finalCheck(event)
以獲取良好做法:
event.preventDefault();
這將停止提交,您可以在preventDefault
函數之后添加更多代碼以處理表單數據
事件處理程序中的代碼必須從其調用的函數中返回值:
onsubmit="return finalCheck();"
事件處理函數需要返回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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.