0

次のコードでは、ajaxSubmit の後にいくつかのアクションを実行しようとしていますが、成功デリゲートは起動されません。ajaxSubmit コードは asp.net コントローラーに到達し、JSON の結果でリクエストを正常に処理します。モデル フォームには、AjaxSubmitAndClose を実行するボタンが含まれています。

function ShowModal(rendercontainerid, modalcontainerid, url) {
        if (url == '')
            return;
        $.get(url, function(data) {
            $(rendercontainerid).html(data);
            $(rendercontainerid).modal({
                close: false,
                containerId: modalcontainerid
            });
        });
    }

    function AjaxSubmitAndClose(formid) {
        var options = { 
                        beforeSubmit:  showRequest,
                        success: showResponse,
                        dataType: 'json'
                        };


        $(form).ajaxSubmit(options);
    }

    function showRequest(formData, jqForm, options) 
    { 
        $('#formSub').html('We really appreciate your feedback!');
        var queryString = $.param(formData); 
        alert('About to submit: \n\n' + queryString); 
        return true; 
    }

    function showResponse(responseText, statusText) 
    {
        alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
            '\n\nThe output div should have already been updated with the responseText.'); 
    }
4

2 に答える 2

0

この奇妙な動作を調査したところ、未解決のバグが見つかりました。
次に、オープンでショットを行い、Options オブジェクトから dataType を削除したところ、驚くべきことにすべてが再び機能していました。

于 2011-02-11T14:41:10.900 に答える
0

ASP.NET を使用しているappendTo:'form'場合は、モーダルのオプションを使用する必要があると思います。

$(rendercontainerid).modal({
    appendTo: 'form',
    close: false,
    containerId: modalcontainerid,
    // snip
});
于 2011-02-10T21:36:57.297 に答える