1
我使用這個代碼提交表單的PHP腳本:jQuery的 - JavaScript變量未持有價值
var valid = 'true';
$(document).ready(function(){
$("#contact").submit(function(){
$.post("process.php",
$("#contact").serialize(),
function(data){
if(data.email_check == 'invalid'){
valid = 'false'; //<---not set!
$("#email1").addClass('missing');
$("#message_ajax")
.html("<div class='errorMessage'>Sorry is NOT a valid e-mail address. Try again.</div>");
} else {
$("#message_ajax")
.html("<div class='errorMessage'>YES! this is A valid e-mail address. DO NOT Try again.</div>");
}
}, "json"
);
if(valid == 'true'){
$("#contact").hide();
}
return false;
});
});
我知道腳本返回「無效」的價值,因爲div和CSS更新如預期的那樣,但「有效」變量永遠不會被設置爲「假」。我認爲這是一個範圍問題,我已經提出了聲明,如果聲明沒有喜悅。
可能出現的相關問題 - 我使用螢火蟲遍歷代碼,但它只是在第一次執行代碼時停止在我的斷點處,並且永遠不會再次執行,但我可以提交表單任意次數總是按預期做出響應 - 有效或無效。正如你所看到的,我對jQuery非常陌生。
+1謝謝。所以如果我明白了,我需要把隱藏表單的邏輯放在函數(數據)塊中?最終我會有幾個輸入來驗證,我只想隱藏表單,如果全部通過。 – jriggs 2009-12-15 20:00:54
@jriggs - 確實。請記住$ .post和函數(data)之間會有延遲,因此您可能還想添加一條要求用戶等待的消息,然後在回調被觸發後隱藏該消息。 – 2009-12-15 20:16:56