ajaxSubmit в сочетании с SimpleModal не запускает делегат - PullRequest
0 голосов
/ 10 февраля 2011

С помощью следующего кода я пытаюсь выполнить некоторые действия после 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.'); 
    }

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

После изучения этого странного поведения я обнаружил открытую ошибку .
Затем я сделал снимок в открытом и удалил dataType из опций объект и на удивление все снова заработало.

0 голосов
/ 11 февраля 2011

Если вы используете ASP.NET, я считаю, что вам нужно использовать опцию appendTo:'form' для модального:

$(rendercontainerid).modal({
    appendTo: 'form',
    close: false,
    containerId: modalcontainerid,
    // snip
});
...