<form action="do_stuff.aspx" method="post" target="my_iframe">
<input type="submit" value="Do Stuff!">
</form>
<!-- when the form is submitted, the server response will appear in this iframe -->
<iframe name="my_iframe" src="not_submitted_yet.aspx"></iframe>
如果不是这样,或者你想问更复杂的问题,请修改你的问题以包含更多细节。
Internet Explorer有一个已知的错误,只有当你使用Javascript动态创建你的iframe等时才会发生(有在这里工作),但如果你使用普通的HTML标记,就没问题。目标属性和框架名称不是什么聪明的忍者黑客;虽然它在HTML 4 Strict或XHTML 1 Strict中被弃用(因此不会生效),但它自3.2以来一直是HTML的一部分,它正式成为HTML5的一部分,并且自Netscape 3以来几乎可以在所有浏览器中运行。
我已经验证了这种行为与XHTML 1 Strict, XHTML 1 Transitional, HTML 4 Strict和在没有指定DOCTYPE的“怪癖模式”下工作,并且它在使用Internet Explorer 7.0.5730.13的所有情况下都能工作。我的测试用例由两个文件组成,使用IIS 6上的经典ASP;这里完整地复制了它们,因此您可以自己验证这种行为。
...
var el = document.getElementById('targetFrame');
var doc, frame_win = getIframeWindow(el); // getIframeWindow is defined below
if (frame_win) {
doc = (window.contentDocument || window.document);
}
if (doc) {
doc.forms[0].someInputName.value = someValue;
...
doc.forms[0].submit();
}
...