2012-02-29 379 views
2

我今天刚刚开始的问题,根本没有真正改变代码。所以当表单被提交时,值应该显示在iframe中。昨天一切正常,但今天的价值显示在框架的新选项卡instad。它仍然在Internet Explorer中工作。iframe在新标签页中打开

当我搜索网络上的答案时,他们所说的只是向iframe添加一个id和名称标签,但已经在代码中。有人知道我可能出错的地方吗?

下面是代码

<form name="form_1" id="form_1" action="/fruits/result.php" method="post" target="resultaat"> 

<iframe name="resultaat" id="resultaat" src="/bepages/empty.php" width="660" height="250" frameborder="0" scrolling="no" marginwidth="0"></iframe> 

编辑的部分:可能解决

我似乎发现了问题,但我想不明白为什么出错。所以我有另一个标签打开与相同的网址。当我关闭该选项卡并再次尝试时,iframe再次正常工作。我会认为,因为它是相同的ID,但我是正确的,当你使用不同的标签时不应该是一个问题。所以我的下一个问题是,有人知道为什么它在这里出错了吗?

+0

您试过哪种浏览器?我创建了一个小提琴http://jsfiddle.net/qNBMb/,它适用于Chrome 17,Firefox 9和IE9。 – arunes 2012-02-29 09:14:02

+0

只是猜测。可能您的网页无法100%加载,而且浏览器无法定义iframe。检查你是否有其他服务器的脚本/ css /图像。 – Narek 2012-02-29 09:15:56

+0

是否可以在解析iframe之前提交表单? – Yaniro 2012-02-29 09:16:15

回答

0

看来问题是由于使用相同的URL打开了另一个选项卡导致的。当我关闭1个标签时,它再次正常工作。

1

问题出在您的<form>标签上。 target属性设置为一个ID。目标用于告诉浏览器链接或窗体应该到哪个框架或窗口。例如, <a href="http://google.com" target="_blank">Google</a>将在新窗口中打开链接。而如果你在页面上有一个框架,并且该框架有一个ID,你可以通过在目标中指定它的ID来告诉一个链接在该框架中打开。

因为您的表单目标设置为文本,浏览器将尝试找到带有该ID的窗口或框架,或者如果找不到该窗口或框架,则打开一个新窗口并为该窗口指定该文本的ID(在你的情况resultaat)。尝试将目标更改为self,它应该可以工作。