【发布时间】:2015-03-31 15:16:06
【问题描述】:
在一个简单模式窗口 (iframe) 中弹出法律通知,它的工作方式完全符合我的预期。 iframe 中有一个表单,当您提交它时,模式窗口会关闭,然后您继续前往目的地 - 在这种情况下,是一个“mailto:”链接。
问题是 - 我需要一个单独的“关闭”功能,它不会打开 mailto 链接,只是关闭模式。目前,提交表单或点击“关闭”链接都会打开“mailto”链接。
到目前为止我得到了什么:
在我的 iFrame 中处理表单提交:
$('#alertFORM').submit(function() {
window.parent.jQuery.modal.close(true);
});
我的函数处理其他所有事情:
$('.legalnotice').on('click', function (e) {
e.preventDefault();
var src = "email_alert.html";
var mailto = $(this).attr('href');
$.modal('<iframe src="' + src + '" height="400" width="390" style="border:0" id="legalFRAME">', {
closeHTML: "<a href='#'>Close</a>",
closeCLASS: "simplemodal-close",
containerId: "modal",
containerCss: {
backgroundColor: "#f8f8f8",
borderColor: "#f8f8f8",
height: 500,
padding: 0,
width: 400
},
overlayClose: true,
onClose: function (dialog) {
$.modal.close();
window.location.href = mailto;
}
});
}); });
我相信我理解这个问题 - 表单提交和“关闭”链接都调用了 onClose 函数。还没有完全弄清楚如何将两者分开,所以只有表单提交会打开“mailto”链接。
我已尝试更改 iFrame 中的代码:
$('#alertFORM').submit(function() {
parent.closeModal();
});
...然后回到上面我的javascript顶部的父页面:
function closeModal() {
$("#modal").dialog("close");
}
...但这不起作用。
积极努力。最受赞赏的建议。
【问题讨论】:
标签: javascript jquery simplemodal