0

我有一个基于 php 和 html 的工具,它有一个表单,当提交时,输出使用 echo 命令重新格式化的数据。

我想将第二个表单添加到同一页面,该页面也将使用 echo 输出。

我的问题是,当我提交第二个表单时,第一个表单输出消失了。我想这样做,以便在提交第二个表单时,第一个表单的回显输出不会消失,因此它们将同时出现在屏幕上。

有没有办法我可以做到这一点?

4

3 回答 3

2

一次只能提交一个页面中的一个<form>块。<input>一个表单中定义的字段在提交另一个表单时不会被提交。

例如

<form>
   <input type="text" name="foo" />
   <input type="submit" />
</form>

<form>
   <input type="text" name="bar" />
   <input type="submit" />
</form>

单击提交将提交一个foo字段一个bar字段。不是都。如果您希望同时提交这两个字段,那么您必须将它们构建成一个单一的表单:

<form>
    <input type="text" name="foo" />
    <input type="text" name="bar" />
    <input type="submit" />
</form>

或使用 Javascript 将数据从一种形式复制到另一种形式。

于 2013-08-23T21:13:17.863 回答
0

是的,你可以做到。

例如:

// form1 on page a.php

<form method="post" action="a.php" name="form_one" >
<input type="text" name="form_1" value="if(isset($_POST['form_1'])) echo $_POST['form_1']; ?>" >
<input type="submit" name="submit_1" >
</form>

<?php

if(isset($_POST['submit']))
{
?> 
  <form method="post" action="a.php" name="form_two" >
  <input type="text" name="form_2" value="if(isset($_POST['form_2'])) echo $_POST['form_2']; ?>" >
   <input type="submit" name="submit_2" >
 </form>
<?php
 }
 ?>

现在,当您提交时,form_one您将看到form_two出现,并且表单一中的值将在 form_one 中保持不变,而提交表单二中的值将保持不变。

希望它有所帮助:)

于 2013-08-23T21:24:48.153 回答
0
<form method="post"> <div>Module1</div> <input type="text"
value="module1" name="module_id"> <input type="text" value="title 1"
name="title"> <input type="text" value="some text 1" name="text">
<input type="submit" name="form_1" value="submit"> </form>

<form method="post"> <div >Module2</div> <input type="text"
value="module2" name="module_id"> <input type="text" value="title 2"
name="title"> <input type="text" value="some text 2" name="text">
<input type="submit" name="form_2" value="submit"> </form>


<?php

if(isset($_POST['form_1'])){

    echo '<pre>';
    print_r($_POST); }

if(isset($_POST['form_2'])){

    echo '<pre>';
    print_r($_POST); } ?>
于 2013-08-23T21:22:13.060 回答