我设计了一个包含动态内容的表单.
例如,表单包含Paper_Name的文本字段和Paper_Link的文本字段.用户最多可以添加十个纸张名称和纸张链接.
每个纸质名称和纸张链接的ID如下:
papername01,paperlink01,...,papername10,paperlink10.
这些ID是由JavaScript动态创建的.换句话说,如果用户未单击"添加纸张"按钮并提交表单,则服务器将接收的唯一字段为paperlink01和papername01.
现在,问题是什么是设计服务器PHP脚本来处理那些提交的表单内容的更好的做法.
使用Ajax表单插件?
使用常规表单提交并遍历所有变量并查看是否设置了任何变量?
使用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.
你为什么不发布数组?
做一个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)