我正在嘗試使用jQuery dialog
框beforeClose
功能。我正在檢查用戶表格數據是否格式正確,如果不正確,請將false
返回到beforeClose
,以便用戶可以重新輸入信息。AJAX完成之前沒有發生成功功能
對話框代碼調用函數submituserupdateform
在beforeClose
:
.dialog({beforeClose: function() {
formresult=submituserupdateform($('#myaccountdialog').find('form'));
if (formresult !="okay"){
return false;
}
}})
的submituserupdateform
功能檢查,看看是否有在代碼中的錯誤:
function submituserupdateform($tgt){
var url='./includes/admin/user/myaccount.php';
$.ajax({
type: "POST",
url: url,
data: $tgt.serialize(),
success: function(data){
$("#myaccountdialog").html(data);
if ($('.error').length){
var myresult= "notokay";
} else {
var myresult ="okay";
}
},
dataType: "html"
});
return myresult;
}
我已搜查,並發現https://stackoverflow.com/questions/1632039/return-value-from-ajax-call,但我已經在我的成功回調中設置了myresult
。我也試過ajaxComplete
,ajaxSuccess
,.done
。根據控制檯,我沒有試過套myresult
;我總是最後有:
Uncaught ReferenceError: myresult is not defined
這必須是一個簡單的錯誤,請幫助我,如果你看到我的錯!
問題是ajax的「異步」行爲。 – 2013-04-22 17:41:14