我有两种表单form 1
和form 2
。
form 1
有20个数据字段,其操作是更新。
在form 2
我有另一个操作,但我想从form 1
获取20个数据字段。
有没有办法做到这一点以及如何做?表格1和表格2也在同一页面中。
我已经有一个解决方案,它将20个隐藏字段放在表单2中,因此形成两个可以 从繁琐的那里得到它。但我可以问你们,有一个更容易的想法吗?
答案 0 :(得分:0)
您可以将表单1中的所有输入保存在会话变量中,并将其还原为表单2.为此,编写一个函数,将所有$ _GET和$ _POST变量存储在$ _SESSION数组的元素中(使用参数名称为键)。
答案 1 :(得分:0)
我认为您的解决方案不错,简单且快捷!
但唯一更好的方法是ajax。
在ajax中,您不仅限于表单,您可以从每个表单中获取每个字段,然后手动发送。
如果您不熟悉ajax ,并且想要使用非Ajax解决方案,则可以使用一个表单并将最后两个表单的所有字段放在这个新的单个表单中,并且使用一个操作文件来响应此表单。在服务器端,您可以检查唯一字段的值。
客户方:
<form action="test.php">
<!-- fields of form 1 -->
<input type="text" name="text1"/>
<input type="text" name="text2"/>
.
.
.
<input type="text" name="text20"/>
<!-- fields of form 2 -->
<input type="text" name="text21"/>
<input type="text" name="text22"/>
.
.
.
<input type="text" name="text40"/>
<input type="submit" value="send"/>
</form>
服务器端:
<?php
if ( isset($_GET["text1"]) )
//do related jobs to form 1 here, and you can use all of filled fields
else
//do related jobs to form 2 here, and you can use all of filled fields
?>
答案 2 :(得分:0)
“问题”是PHP开发人员在某些时候解决的问题。
执行此操作的最佳方法是在$_SESSION
中保存先前表单中的数据。但是,如果您在同一会话中填写表单,这将是一个有效的解决方案。
如果您正在构建类似电子商务网站的用户,用户必须填写多个付款表单或某些大型测试应用程序(学生填写多表单测试),最好将每个表单中的数据存储在数据库并将其与UserId
相关联。这样,用户就可以继续从不同位置填写表单。
P.S。如果您使用的是AJAX,那么您将主要在现有应用程序之上添加另一层复杂性。特别是如果你的JavaScript技能有限。