我有一个基于 php 和 html 的工具,它有一个表单,当提交时,输出使用 echo 命令重新格式化的数据。
我想将第二个表单添加到同一页面,该页面也将使用 echo 输出。
我的问题是,当我提交第二个表单时,第一个表单输出消失了。我想这样做,以便在提交第二个表单时,第一个表单的回显输出不会消失,因此它们将同时出现在屏幕上。
有没有办法我可以做到这一点?
一次只能提交一个页面中的一个<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 将数据从一种形式复制到另一种形式。
是的,你可以做到。
例如:
// 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 中保持不变,而提交表单二中的值将保持不变。
希望它有所帮助:)
<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); } ?>