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

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 に答える
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 に答える