使用以下代码我试图在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.');
}
答案 0 :(得分:0)
如果您使用的是ASP.NET,我相信您需要为模式使用appendTo:'form'
选项:
$(rendercontainerid).modal({
appendTo: 'form',
close: false,
containerId: modalcontainerid,
// snip
});
答案 1 :(得分:0)
在调查这种奇怪的行为后,我找到了一个开放的bug 然后我在公开场合做了一个镜头,我从选项中删除了dataType 对象,令人惊讶的是一切都在恢复。