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