将表格从一个iframe发布到另一个 - IE

时间:2012-09-06 08:03:15

标签: javascript forms internet-explorer iframe window

这似乎是一个古老的问题。但我似乎无法找到解决方案。

我有一个页面上有两个iframe。他们正在加载:

<iframe id="leftIframe" src="predict_goalkeepers.php" height="900" width="300" frameBorder="0" hspace="0"></iframe> <iframe id="rightIframe" src="predict_right.php" height="900" width="300" frameBorder="0" hspace="0"></iframe>

然后我想从leftIframe向右发布一些内容并同时刷新leftIframe。这是我通过目标框架和onclick功能完成的。在左边框架上我有这个:

<form action="predict_rightframe.php" method="post" name="form1" id="form1" target="rightIframe"><input type="checkbox" name="goalkeepers" value="1" onclick="this.form.submit(); window.location.reload(true)">

这在Chrome上运行良好且超级优秀。但是在检查Firefox和IE时,框架会在新窗口中打开。

到底有没有?

我相信有一个“黑客”,你可以通过javascript创建一个框架。但我只发现了如何创建一个隐藏框架(see here),但我希望这个框架可见。

有关此问题的任何帮助都非常有用 - 即使它只是调整上述链接的javascript代码来创建可见的iframe。

1 个答案:

答案 0 :(得分:0)

我已经修好了!这花费了我几个小时的时间。

但如果有人有同样的问题。这是解决方案..

使用以下详细信息创建名为frame.js的文件:

   var filePath = 'predict_rightframe.php';
// Setup the iframe target
var iframe='<iframe id="myIframe" name="myIframe" src ="predict_rightframe.php" width="300" height="450" marginheight="0" marginwidth="0" frameborder="no" scrolling="no"></iframe>';
// Write the iframe to the page
document.write(iframe);

var myIframe = parent.document.getElementById("frame");
// Setup the width and height
myIframe.height = 450;
myIframe.width = 300;

myIframe.src = filePath;
// set the style of the iframe
myIframe.style.border = "0px solid #999";
myIframe.style.padding = "0px";

然后你想要iframe出现在哪里:

<script language="JavaScript" src="includes/frame.js"></script>

我不太确定为什么这样有效(坦率地说,我不关心它是否有效!)。这与IE有关,不认为iframe是一个对象。 Javascript可以让IE认为它是一个对象......无论如何它现在都有效。