我试图通过提交对话框按钮发送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.");
}
});
所以,成功代码不起作用,任何人都可以帮助我,我在这里错了
答案 0 :(得分:0)
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它无法通过 Id
获得$(this)
的引用
答案 1 :(得分:0)
向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代码中的错误。