在 SimpleModal 的模态对话框中使用 Firefox 3 中的 JQuery 和歌剧提交
Posted
技术标签:
【中文标题】在 SimpleModal 的模态对话框中使用 Firefox 3 中的 JQuery 和歌剧提交【英文标题】:Submit with JQuery in firefox 3 & opera in a modal dialog box from SimpleModal 【发布时间】:2010-09-27 05:25:32 【问题描述】:我正在尝试提交一个在 SimpleModal 对话框中呈现的表单,但是当我使用 FF3 和 Opera(Chrome、Safari 和 IE 工作)时,我的提交从未被调用。我使用以下代码:
function ShowModal(rendercontainerid, modalcontainerid, url)
if (url == '')
return;
$.get(url, function(data)
$(rendercontainerid).html(data);
$(rendercontainerid).modal(
close: false,
containerId: modalcontainerid,
onOpen: function(dialog)
dialog.overlay.fadeIn('slow', function()
dialog.container.slideDown('slow', function()
dialog.data.fadeIn('slow');
);
);
,
onClose: function(dialog)
dialog.data.fadeOut('slow', function()
dialog.container.slideUp('slow', function()
dialog.overlay.fadeOut('slow', function()
$.modal.close(); // must call this!
);
);
);
);
);
function CloseDialog()
$.modal.close();
function SubmitAndClose(rendercontainerid)
$(rendercontainerid).find('form').submit();
CloseDialog();
window.location = window.location;
function AjaxSubmitAndClose(rendercontainerid)
var form = $(rendercontainerid).find('form');
var url = $(form).attr('action');
var postData = $(form).serializeArray();
var options =
dataType: 'json',
success: AjaxSubmitSucces
;
$(form).ajaxSubmit(options);
function AjaxSubmitSucces(data)
if (data.ErrorMessage != '')
alert(data.ErrorMessage);
else if (data.RedirectUrl != '')
CloseDialog();
window.location = data.RedirectUrl;
我还尝试使用 jquery.form 插件进行 ajax 发布,但随后您会看到 formdata(An fckeditor) 处于初始值中(看起来它已被缓存)。
【问题讨论】:
在更新 jquery(1.5)、SimpleModal(1.4.1) 和 jQuery Form(2.63) 之后,我的 ajaxSubmit 不会触发自定义成功委托。取而代之的是,我收到了缺少分号的错误。控制器(asp.net)获取 ajaxSubmit 操作并正常处理。 【参考方案1】:尝试使用 onShow 回调:
onShow: function (dialog)
// bind form submit in dialog
dialog.data.find('form').submit(function (e)
e.preventDefault();
// do stuff here
);
【讨论】:
以上是关于在 SimpleModal 的模态对话框中使用 Firefox 3 中的 JQuery 和歌剧提交的主要内容,如果未能解决你的问题,请参考以下文章
simplemodal 会弄乱 ASP.NET AJAXified 控件吗?
当我在 ASP.Net 中使用 CustomValidator 服务器端验证时,Simplemodal 关闭
Foreach 循环中奇怪的 SimpleMODAL OSX 动作