2012-03-09 71 views
0

我有一个对话框,它有形式,当表单提交时它将提交位置,我如何确保我的对话框像iFrame一样工作,以便我的浏览器位置保持原样,只有对话框会打开新的表单位置?jQUery UI对话框 - 它可以像iFrame一样工作吗?

+0

通过Ajax你可以做到这一点 – dotoree 2012-03-09 16:02:40

+0

@dotoree罗,如果打开不同的网站,用户点击它链接它仍然会重定向我的浏览器有 – sed 2012-03-09 16:04:27

+0

我认为唯一的出路这是为了在对话框中放置一个实际的iframe。但请注意,目标网站仍然可以使用window.top来“打破”你的框架并控制整个窗口。 – Dave 2012-03-09 16:10:14

回答

0

<iframe id=herpaderp></iframe>放在对话框中,并在form上设置属性target=herpaderp

这将导致表单的POST结果在iframe中加载。

如果表单也在对话框中,则需要在submit按钮中添加逻辑以在提交过程中隐藏表单。 !


/\注意IE8的 - 当我尝试这样做,它遇到了麻烦从iframe内打印。

0

可以使用AJAX提交表单,并显示在对话框中的反应,

然后,你可以绑定点击外部页面元素,以防止重定向。如果你仍然想要链接,你可以对点击链接做另一个Ajax请求,并在对话框中显示响应。

//you might need to edit the selector 
$('#mydialog a').click(function(e){ 
    e.preventDefault(); 
    //here you need to perform a ajax request to $(this).attr("href") 
    //and show the response in #mydialog again 
}) 

希望这有助于