2015-03-31 70 views
0

在简单窗口(iframe)中出现弹出式法律声明,其工作方式与我预期的完全相同。 iframe中有一个表单,当你提交它时,模式窗口关闭,你继续到你的目的地 - 在这种情况下,一个“mailto:”链接。Simplemodal:提交表单并在iFrame中关闭

问题是 - 我需要一个单独的“关闭”功能,不打开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"); 

}

...但这不起作用。

积极开展工作。最受赞赏的建议。

回答

0

终于明白了!

$('#alertFORM').submit(function() { 
    window.showEmail = "true"; 
    window.parent.jQuery.modal.close(true); 
}); 

$(".modalCloseImg").on('click', function (e) { 
    window.parent.jQuery.modal.close(true); 
}); 

...回来父页上:

​​ 在我的iFrame里面的文件