处理动态表单内容有什么更好的做法?

q09*_*987 3 php

我设计了一个包含动态内容的表单.

例如,表单包含Paper_Name的文本字段和Paper_Link的文本字段.用户最多可以添加十个纸张名称和纸张链接.

每个纸质名称和纸张链接的ID如下:

papername01,paperlink01,...,papername10,paperlink10.

这些ID是由JavaScript动态创建的.换句话说,如果用户未单击"添加纸张"按钮并提交表单,则服务器将接收的唯一字段为paperlink01和papername01.

现在,问题是什么是设计服务器PHP脚本来处理那些提交的表单内容的更好的做法.

  1. 使用Ajax表单插件?

  2. 使用常规表单提交并遍历所有变量并查看是否设置了任何变量?

  3. 使用JSON数据格式?

是的,这个问题与服务器和客户端有关.我想知道最佳做法并相应地更改我的客户.请帮助,谢谢

表单设计如下所示:

<div id="divDummy001">
 <div id="paperTitle001Fld">
  <label for="papertitle001">Title of Paper 001</label>
  <div>
   <input type="text" size="16" value="" id="papertitle001" name="papertitle001"/>
  </div>
 </div>

 <div id="paperURL001Fld">
  <label for="paperurl001">Paper Link 001</label>
  <div>
   <input type="text" size="96" value="" id="paperurl001" name="paperurl001"/>
   </div>
 </div>
</div>
Run Code Online (Sandbox Code Playgroud)

当用户单击"添加"按钮时,将创建一个新的div,唯一的区别是ID将增加1.

Jac*_*kin 5

你为什么不发布数组

做一个vanilla表单提交,然后在服务器端,你可以POST像任何其他PHP数组一样遍历ed数组.

您要做的就是name使用[]附加内容定义HTML元素的属性:

<input type="text" name="papername[]" value=""/>
Run Code Online (Sandbox Code Playgroud)

你的PHP应该是这样的:

<?php
    if(isset($_POST['papername'])) {
        foreach($_POST['papername'] as $papername) {
           //do something with $papername...
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)