簡體   English   中英

如何停止表格提交?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM