0

我试图从对话框按钮的提交发送 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.");
    }
});

所以,成功代码不起作用,任何人都可以帮助我,我在这里错了

4

2 回答 2

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)获得如此接近的引用

于 2013-11-15T08:30:35.130 回答
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 代码中的错误。

于 2013-11-15T08:45:44.767 回答