0

我有两种形式form 1form 2.

form 1有 20 个数据字段,它的作用是更新。在form 2我有另一个动作,但我想从中获取 20 个数据字段form 1

有没有办法做到这一点以及如何做到这一点?表格 1 和表格 2 也在同一页面中。

我已经有一个解决方案,将 20 个隐藏字段放在表格 2 中,以便表格 2 可以从那里得到它,这很乏味。但是我可以问你们有没有更简单的想法?

4

3 回答 3

0

我认为您的解决方案还不错,简单且 Swift !但唯一更好的方法是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
?>
于 2012-08-18T06:49:36.257 回答
0

您可以将表单 1 中的所有输入保存在会话变量中并在表单 2 中恢复。为此,编写一个函数,将所有 $_GET 和 $_POST 变量存储在 $_SESSION 数组的元素中(使用参数名称为钥匙)。

于 2012-08-18T06:40:23.270 回答
0

“问题”是 PHP 开发人员在某个时候解决的问题。

最好的方法是将以前表单中的数据保存在$_SESSION. 但是,如果您在同一会话中填写表格,这将是一个有效的解决方案。

如果您正在构建诸如电子商务网站之类的东西,用户必须在其中填写几张付款表格,或者在一些大型测试应用程序中,学生填写多表格测试,最好将每个表格的数据存储在数据库中并关联它到UserId. 通过这种方式,用户可以获得从不同位置继续填写表单的能力。

PS 如果您改用 AJAX,您通常只会在现有应用程序之上添加另一层复杂性。特别是如果您的 JavaScript 技能有限。

于 2012-08-18T07:01:24.460 回答