2013-10-02 40 views
2

我有一个JS动态表单,在那里我可以添加或删除字段:处理动态表单

Field 1 
Field 2 
Field 3 
Field 4 

现在,如果我删除字段2,并添加一个新的领域:

Field 1 
Field 3 
Field 4 
Field 5 

我m通过表单元素内的Ajax POST发送。 我的问题是服务器端PHP处理。我如何知道$ _POST数组中有多少个字段?它们的ID是什么?我使用“field”+ counterIndex来生成唯一的ID,但下面的例子我怎么能够理解我总共有4个字段,而2号码是不存在的?顺便说一句,在表格中我也有静态字段。

+2

'array_keys'和“计数”? –

+2

也许http://php.net/manual/en/function.count.php和http://php.net/manual/en/function.array-keys.php – allen213

+0

@PatrickEvans我的想法正是:) – allen213

回答

5

这可以通过PHP来完成,因为$_POST本身就是一个数组,因此它可以循环。

说,你有字段:

<input name="dyn[id1]"/>

<input name="dyn[id2]"/>

在后端PHP文件,

循环遍历$_POST如下:

<?php 
if (isset($_POST['SUBMIT_BTN'])) { 
    if (! empty($_POST['dyn'])) { 
    foreach ($_POST['dyn'] as $dyn_id => $dyn_val) { 
    // "$dyn_id" is your ID you needed. 
    } 
    } 
} 
?> 
+1

不错。尽管索引是optionnal:name =“dyn []”,然后是foreach。 – Virus721