在 iframe 中双重提交值表单

Posted

技术标签:

【中文标题】在 iframe 中双重提交值表单【英文标题】:Double submit a value form in iframe 【发布时间】:2014-08-29 13:03:42 【问题描述】:

我想在框架中双重提交一个值表单,如下所示。

index.php

<form action="iframe1.php" method="post" target="iframe1">
<input type="text" name="lala">
<input type="submit">
</form>

<iframe name="iframe1" src="iframe1.php"></iframe>

iframe1.php

<form action="foo.php" method="post">
<button type="submit" name="lili" value="'.$_POST['lala'].'"></button>
</form>

foo.php

<?php echo $_POST'lili']; ?>

使用上面的代码可以成功地从 index.phpiframe1.php 提交一个值,但是 iframe1.php 不提交给 foo.php。它停止到 iframe1.php。那么如何让 iframe1.php 在值不为空时提交,否则如果值为空,则不执行任何操作。

【问题讨论】:

为什么表单会自动提交?我想我不知道你在问什么,除了听起来你需要验证。 是的,这和验证一样,如果值为空,则什么也不做提交。你知道怎么用 javascript 做这个吗? 【参考方案1】:

自动提交需要 iframe1.php 中的一些 javascript。

index.php

<form action="iframe1.php" method="post" target="iframe1">
<input type="text" name="lala">
<input type="submit">
</form>
<iframe name="iframe1" src="iframe1.php"></iframe>

iframe1.php

<?php if(isset($_POST['lala'])):?>
<form action="foo.php" method="post" id="form2">
<input type="hidden" name="lili" value="<?php echo $_POST['lala']; ?>" />
</form>
<script type="text/javascript">
    document.getElementById('form2').submit();
</script>
<?php else:?>
    <div>Nonthing posted</div>
<?php endif;?>

foo.php

<?php echo $_POST['lili']; ?>

【讨论】:

如果你可以使用上面的代码,它工作正常。我改变了一些有语法错误的东西

以上是关于在 iframe 中双重提交值表单的主要内容,如果未能解决你的问题,请参考以下文章

将值提交到另一个页面 iframe 表单

在 wordpress 中编码时防止双重表单提交

将表单提交到 Colorbox iframe

form表单提交上传图片

在 iframe 中提交的表单在某些计算机上失败

Spring Data JPA - 防止一对一关系的双重表单提交