每个具有“行”类的div都是根据用户的请求添加的,以便能够一次添加多个项目。所以现在问题是如何将所有表单收集到PHP可以读取的数组中(例如JSON)。我猜这已经有了一些简单有效的方法吗?
<div class="container">
<div class="row">
<input type="text" name="value1" id="textfield" />
<input type="text" name="value2" id="textfield" />
<input type="text" name="value3" id="textfield" />
</div>
</div>
以下是我想通过所示示例实现的内容:
array(
array ('value1' => '',
'value2' => '',
'value3' => '')
);
谢谢!
更新: 该表单将使用PHP进行处理,并且可以在特定的container-div内容上执行类似foreach循环的操作。
答案 0 :(得分:5)
为每个'组'输入赋予相同的名称,然后在末尾添加方括号
<div class="container">
<div class="row">
<input type="text" name="value1[]" id="textfield" />
<input type="text" name="value2[]" id="textfield" />
<input type="text" name="value3[]" id="textfield" />
</div>
<div class="row">
<input type="text" name="value1[]" id="textfield" />
<input type="text" name="value2[]" id="textfield" />
<input type="text" name="value3[]" id="textfield" />
</div>
</div>
当您发布表单时,您的php $_POST
变量将包含value1
,value2
和value2
的数组:
var_dump($_POST); // array('value1' = array(...
然后你可以迭代来重新组合PHP中的行(但首先,我将字段名称更改为field1等而不是value1):
$rows = array(); // set up an empty array to hold your rows
// loop through each POST var
foreach($_POST AS $key=>$field) {
if(is_array($field)) {
foreach($field AS $rowIndex=>$fieldValue) {
$rows[$rowIndex][$field] = $fieldValue; // put the value in a the array by row, field
}
}
}
var_dump($rows);
这会给:
array(
[0] => array(
'field1' => 'value1',
'field2' => 'value2',
'field3' => 'value3'
),
[1] => array(
'field1' => 'value1',
'field2' => 'value2',
'field3' => 'value3'
),
...
)
答案 1 :(得分:0)
<div class="container">
<div class="row">
<input type="text" name="value[0][value1]" class="textfield" />
<input type="text" name="value[0][value2]" class="textfield" />
<input type="text" name="value[0][value3]" class="textfield" />
</div>
<div class="row">
<input type="text" name="value[1][value1]" class="textfield" />
<input type="text" name="value[1][value2]" class="textfield" />
<input type="text" name="value[1][value3]" class="textfield" />
</div>
</div>
将ID更改为类,因为重复使用相同的ID是无效的HTML。
答案 2 :(得分:0)
要将XML转换为JSON,您可以尝试使用: