我正在处理一个表格,其中我有2个字段,可以添加N次。我有2个名为“fieldA”和“fieldB”的字段和一个名为“addrow”的按钮。因此,我多次点击addrow,我在前一个fieldA和fieldB下添加了fieldA和fieldB。所以我可以拥有无限的fieldAs和无限的fieldBs。我使用jquery添加行,并在每个字段的名称attr后面追加带有数字的新字段,以使其唯一。因此,第一组字段将命名为fieldA1,fieldB1和第二组将命名为fieldA2,fieldB2等。
$(document).ready(function(){
var $i = 1;
$('body').on('click','#addrow',function(){
$('#fieldset').append(
"Your Friends Name: <br /><input type='text' name='fieldA"+$i+"' /><br /><br />Your Friends Email: <br /><input type='text' name='fieldB"+$i+"' /><br /><br />"
);
$i++;
});
});
现在因为这些字段是使用jquery自动生成的,所以我不知道如何在php中获取字段的值。
在获取字段值后,我也想创建一个数组。
$fieldset = array(
array("fieldA" => "value of fieldA1","fieldB" => "value of fieldB1"),
array("fieldA" => "value of fieldA2","fieldB" => "value of fieldB2"),
array("fieldA" => "value of fieldA3","fieldB" => "value of fieldB3"),
...
);
答案 0 :(得分:4)
您的输入必须是数组[]
,否则您将无法接收数组fieldA[]
你的jQuery应该是这样的:
$(document).ready(function(){
var $i = 1;
$('body').on('click','#addrow',function(){
$('#fieldset').append(
"Your Friends Name: <br /><input type='text' name='fieldA["+$i+"]' /><br /><br />Your Friends Email: <br /><input type='text' name='fieldB["+$i+"]' /><br /><br />"
);
$i++;
});
});
HTML
Your Friends Name: <br /><input type='text' name='fieldA[0]' class='name'/><br /><br />
Your Friends Email: <br /><input type='text' name='fieldB[0]' class='email'/><br /><br />
在您的PHP中,您将收到它们
[fieldA] => Array (
[0] =>
[1] =>
[2] =>
)
[fieldB] => Array (
[0] =>
[1] =>
[2] =>
)
您可以根据需要转换它们
$newArray = array();
for($i=0; $i<count($_POST['fieldA']); $i++){
$newArray[$i]['fieldA'] = $_POST['fieldA'][$i];
$newArray[$i]['fieldB'] = $_POST['fieldB'][$i];
}
答案 1 :(得分:0)
如果您使用POST在表单中提交这些字段,则可以执行以下操作:
foreach ($_POST as $key => $value) {
$fieldset[$key] => $value;
}