2011-02-10 3 views
0

С помощью следующего кода я пытаюсь выполнить некоторые действия после ajaxSubmit, но делегат успеха никогда не запускается. Код ajaxSubmit достигает контроллера asp.net, который успешно обрабатывает запрос с результатом JSON. Форма модели содержит кнопку, которая выполняет AjaxSubmitAndClose.ajaxSubmit в сочетании с SimpleModal не запускает делегат succes

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.'); 
    } 
+0

Это код. Можете ли вы оставить только то, что имеет отношение к проблеме. Кроме того, я не получаю, что var form = $ (formid); $ (Форма) .validate(); делает. Разве это не должно быть form.validate()? – Francisco

ответ

0

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

0

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

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

Это также верно, если вы используете ASP.NET MVC? Или только с ASP.NET Forms – JSC

+0

После теста я могу сказать, что это неверно на ASP.NET MVC – JSC