[英]Jquery UI Dialog not closing within ajax sucess
我试图从对话框按钮的提交发送ajax调用,而ajax成功后,我需要关闭另一个对话框的对话框,下面有一个对话框代码
$("#Forgot-password").dialog({
autoOpen: false,
heigth: 50,
width: 320,
modal: true,
buttons: {
"Submit": function () {
var bValid = true;
allFields.removeClass("ui-state-error");
bValid = bValid && checkLength(forgotUsername, "username", 3, 16)
if (bValid) {
$(".validateTips").text("Wait....");
$.ajax({
type: "POST",
url: url,
async:true,
data: { "REQUESTTYPE": 1, "USERNAME": forgotUsername.val() },
dataType: "json",
success: function(result) {
$(".validateTips").text("All form fields are required.");
$(this).dialog("close");
$("#dialog-forgot-message").dialog("open");
},
});
}
},
"Cancel": function () {
$(this).dialog("close");
$(".validateTips").text("All form fields are required.");
}
},
close: function () {
allFields.val("").removeClass("ui-state-error");
$(".validateTips").text("All form fields are required.");
}
});
因此,成功代码无法正常工作,任何人都可以帮助我,这里我错了
success: function(result) {
$(".validateTips").text("All form fields are required.");
$("#Forgot-password").dialog("close");
^^^^^use dialog box id here
$("#dialog-forgot-message").dialog("open");
},
原因是在ajax中,它无法获得$(this)
的引用,因此由Id如此接近
将错误处理程序添加到您的Ajax代码中,并记录错误以查看出了什么问题。
$.ajax({
type: "POST",
url: url,
async:true,
data: { "REQUESTTYPE": 1, "USERNAME": forgotUsername.val() },
dataType: "json",
success: function(result) {
$(".validateTips").text("All form fields are required.");
$(this).dialog("close");
$("#dialog-forgot-message").dialog("open");
},
error: function(result) {
console.log(result);
}
});
它将记录一个对象,如果展开它,则应该能够找到错误消息。 通常这是您的PHP代码中的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.