2012-01-25 30 views
7

我一直在尝试将一个小型登录小部件嵌入到iframe中的静态页面中,以便有人能够登录到我的网站。我得到的问题是,表单发布时最终会出现在iframe中,而不是作为完整的浏览器页面。如何从iframe中提交表单并使结果在外

我知道有可能这样做,因为https://www.salliemae.com/在其主页上采用相同的策略。他们在他们的静态页面中嵌入了一个iframe,为他们完成所有的逻辑。我有非常类似的JavaScript,因此当有人点击时我会调用form.submit()。唯一的区别是我使用jQuery来捕获点击事件,并将onclick直接放在表单元素上。

我看过他们在calm.js中的代码,它似乎在做一个简单的form.submit(),但是他们的页面完全在浏览器中加载,只在iframe中加载。我环顾四周,没有看到类似的帖子,所以如果我错过了,请让我知道。

+0

如果请求跨域,端口或协议,浏览器将其击落。 Google [** XSS **](http://en.wikipedia.org/wiki/Cross-site_scripting)以获取更多信息。 – Blender

+0

在我的情况(和上面的salliemae例子)他们都在同一个域。所以对于这个问题,我该如何做,假设两者都在同一个域上? Salliemae只有一个共同的低级别域名,它们位于不同的子域名(www。vs. login)。 – Scott

回答

15

请参阅iframe的<form>标记中的target="_top"。这告诉浏览器在父框架中加载响应。

+0

ahh,一直在敲我的头,试图找出什么是三角洲。谢谢! – Scott

1

如果不阿贾克斯的内容,你只需要添加目标=“_顶”的形式,否则,你将不得不使用window.open(serialisedurl“_顶”)

相关问题