如何在iframe中使用发送到同一页面的表单输出


How can form output sent to the same page be used in an iframe?

我有一个页面,其中包含一个iframe和一个针对同一页面的表单(在iframe之外)。表单的输出在iframe中似乎不可见。我现在使用的解决方法是,在iframe之外获取$_POST表单输出,将其解析为变量(如果表单尚未发送,则使用一些默认值),然后使用iframe定义中的变量。然后在iframe中,我将这些值解析为$_GET。iframe定义如下:

echo '<iframe src="foo.php?a='.$a.'&b='.$b.'" >';

这是最佳解决方案吗,还是通过php可以获得更优雅的解决方案?

编辑:我试图将表单目标设置为iframe,并将操作设置为相应的页面,但似乎不起作用;我会试着进一步检查一下。我是JavaScript和AJAX的新手,在我的网站上,我很少使用JavaScript,也没有AJAX。我将使用解决方案来检查AJAX,但我更喜欢使用php。

这有帮助吗?使用php会话。它也可以在JavaScript中完成,但由于您似乎对php很感兴趣,所以它就在这里

<?php
session_start();
$_SESSION["name"] = isset($_GET['myName'])?$_GET['myName']:"";
?>
<form name="MyForm" action="" method="GET">  
<input type="text" name="myName"/>
<input type="submit" />
</form>  
<iframe src="iframe.php" name="myIframe"></iframe>

然后在"iframe.php"中

<?php
session_start();
echo $_SESSION["name"];
?>