我正在使用FrameSets将屏幕分成两个窗格。左侧窗格显示链接,而右侧窗格显示实际页面。我想知道在右窗格中打开一个输入表单并提交时如何处理该问题。如何处理Frameset,POST和重定向
当我提交表单时,该操作被传递给另一个.php文件,该文件将记录保存到MySQL数据库中,并且必须返回到右窗格中的相同条目表单。
问题是保存后,屏幕空白,我担心如果返回,它可能会在整个屏幕上显示Entry窗体而不是右窗格。
请帮助我解决这个问题。
我正在使用FrameSets将屏幕分成两个窗格。左侧窗格显示链接,而右侧窗格显示实际页面。我想知道在右窗格中打开一个输入表单并提交时如何处理该问题。如何处理Frameset,POST和重定向
当我提交表单时,该操作被传递给另一个.php文件,该文件将记录保存到MySQL数据库中,并且必须返回到右窗格中的相同条目表单。
问题是保存后,屏幕空白,我担心如果返回,它可能会在整个屏幕上显示Entry窗体而不是右窗格。
请帮助我解决这个问题。
在右窗格中,您有一个表格,它向POST文件发送POST请求。该请求的目标从一开始就是浏览器收集服务器响应的地方。如果这个目标是你的右窗格,那么php文件(新窗体)的响应将显示在右窗格中。
<frameset>
<frame id="leftpane" src="leftpane.php"></frame>
<frame id="rightpane" src="rightpane.php"></form>
</frame>
rightpane.php
...
<form action="rightpane.php" target="rightpane" method="post">
...
</form>
...
我不是你的情况,但几个指针完全清楚:
target="_top"
从框架内提交到整个窗口(允许全面更新)。target="framename"
提交到相邻的框架。您可以为表单指定“目标”属性。它控制着输出在处理表单提交后将显示在哪个帧中。
但我强烈建议不要使用帧!使用正确的HTML元素元素为页面提供结构并使用CSS格式化所有元素更好。
目前,我无法撤销我的方法。如何使用另一个文件中的_target在右窗格上打开相同的表单? – RKh 2009-12-29 11:25:45
我是否需要使用“标题”从第二个文件重定向? – RKh 2009-12-29 11:48:10
好的,明白了。除了你的建议之外,我在.php文件的顶部添加了这行代码: – RKh 2009-12-29 12:33:33
关于HTTP-Header重定向,那样工作。重定向告诉浏览器在接收时请求另一个URL(在同一帧中)。你想要做的是告诉浏览器把接收到的文档放在另一个框架中(这是不可能的)。 – Alsciende 2009-12-29 13:44:03