【问题标题】:Preserving data in one form when submitting a second form提交第二个表单时在一个表单中保留数据
【发布时间】:2011-07-02 19:57:01
【问题描述】:

我有一个使用 PHP 生成的包含两个表单的页面。

第一部分包含文本框、提交按钮和清除按钮。

第二个表单只是一个名为“添加更多文本框”的按钮,因此用户可以根据需要在表单中添加更多内容。

问题是当我单击“添加更多行”时,它会加载另一个更改值的页面。

该值会在重新加载时影响原始页面,从而导致创建更多文本框。

问题是我丢失了所有输入的数据。

当用户点击“添加更多行”时,有什么方法可以保留数据?

这是我页面的截图。

谢谢

【问题讨论】:

  • 您需要通过 Javascript 添加额外的行,而不是重新加载页面并在服务器上执行此操作。
  • @brucebat - 您是否考虑过使用 jQuery 来执行此操作?如果$_POST$_GET 中存在值,则另一个选项是在创建字段时设置字段的value
  • @Michae Mior - 如果我使用 javascript,我的其他获取帖子的 php 页面如何知道有多少文本框?谢谢
  • 您可以将输入字段命名为数组。如果给它们命名,例如 InputName[3],则可以将 $_POST$_GET 作为数组进行迭代。

标签: php forms


【解决方案1】:

如果你想在没有 js 的情况下做到这一点,那么你把所有东西都放在一种形式中。当您单击按钮添加行时,所有输入的数据都将在 $_POST 或 $_GET 中可用,因此您可以使用现有数据填写表单并在生成新页面时添加一行。

【讨论】:

    【解决方案2】:

    理想情况下,您应该使用 javascript 动态添加新行,而无需向服务器发出新请求并加载新页面。但如果你想让它保持 javascript 免费。如果它只是由条件控制的所有相同的 php 脚本,只需在您的字段中使用 $_POST['variable'] 值作为 value="$_POST['variable']" 。如果它是通过多个脚本处理的,您可以使用会话变量将数据从一页传递到下一页。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      • 2015-08-24
      • 2018-08-25
      • 2011-07-06
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多