在實際提交之前,我使用以下Javascript來檢查表單。在.done中的jQuery ajax form.submit()始終觸發
$('#homesubmit').click(function(e){
e.preventDefault();
if (!$("#inputcode").val()) {
e.preventDefault();
$("#inputcode").qtip({
content: 'Please enter code!.',
style: {
/* Other qtip settings and stuff */
})
}
else {
var jqxhr = $.post("<?php echo base_url().'ajaxhandler?action=checkcodehome'?>", $("#startcode").serialize())
.done(function() {
alert("Correct!");
/* // If code is correct, please do submit the form...
$.('#startcode').submit(); */
})
.fail(function() {
alert("Wrong!");
/* Maken a qtip tooltip*/
});
}
});
當表單準備提交時,Ajaxhandler會給出200 OK標題,如果不是這種情況,Ajaxhandler會給出一個200 OK標題。這對於我的例子中的提示非常有用,但是當我想在表單上連續呼叫.submit()
時,表單也會在.fail
上提交。
我想我可以讓我的ajaxhandler返回一個帶有true/false的json,並在.done
中檢查該值,但由於沒有我想要發送的數據,所以這似乎是多餘的。
爲什麼觸發alert()
對應於響應,但總是調用$.('#startcode').submit()
?
親切的問候
不'done'火災一旦接收到響應,天氣成功與否?嘗試'.success()' – atmd 2015-02-24 09:37:14
是否在錯誤 – 2015-02-24 09:38:03
的情況下出現'Correct'提醒,謝謝,工作!我認爲.done只是在成功時被解僱,但顯然這就是成功。 – user2693053 2015-02-24 09:42:37