簡體   English   中英

出現錯誤時阻止表單提交

[英]Prevent form submission if there is errors

基本上我有一個代碼,如果他寫的ID已經存在或太短,會向用戶顯示錯誤,但是問題是我無法弄清楚如何防止表單提交時出現錯誤。

需要彈出警報窗口的代碼:

jQuery("#submit").click(function(e){

           if(error === '1')
           {
     alert("There are some errors in the form.");
     e.preventDefault();
           }
   });   

然后我得到使用AJAX的答案並顯示錯誤:

if(msg == 'OK')
{
var error = '0';
}
else
{
var error = '1';
jQuery("#idCheck_msg").slideDown("fast");
jQuery("#idCheck_text").text(msg).slideDown("fast");
}});
}

我試圖用var error做某事,但是Firebug說沒有定義錯誤,即使有錯誤也要提交表單get。

有什么幫助嗎? ;)

error定義為全局變量。 那就是在使用變量之前刪除var

var error;
if(msg == 'OK')
{
    error = '0';
}
else
{
    error = '1';
...

似乎您在提交表單之后設置了error的值,但是提交表單之前檢查了它的值。

給定帖子中的代碼,嘗試檢查其值時error將是不確定的。 另外,提交表單后, error仍然是不確定的,因為您是使用var關鍵字在AJAX響應處理程序的范圍內聲明的。

如果在設置error的值時從AJAX處理程序中刪除var關鍵字,則提交邏輯將第二次工作。

底線:提交表單之前需要設置error的值,而不是在AJAX響應處理程序中。

什么時候撥打AJAX? 在收到AJAX調用的成功響應之前,您將無法檢查“錯誤”。 另外,您需要刪除“ var”,使其在全局范圍內。

如果在提交表單時也進行了AJAX調用,則需要將錯誤檢查移至處理AJAX響應的代碼內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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