1

我正在处理一个表单,其中有 2 个可以添加 N 次的字段。我有 2 个名为 "fieldA" 和 "fieldB" 的字段以及一个名为 "addrow" 的按钮。因此,当我多次单击 addrow 时,我在先前的 fieldA 和 fieldB 下方添加了 fieldA 和 fieldB。所以我可以拥有无​​限的fieldAs和无限的fieldB。我使用 jquery 添加行并在每个字段的名称 attr 后面附加带有数字的新字段,以使其唯一。因此,第一组字段将命名为 fieldA1、fieldB1,第二组字段将命名为 fieldA2、fieldB2,依此类推。

这就是我的表单部分的外观

在此处输入图像描述

这是我的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++;
    });
});

现在,由于这些字段是使用 jquery 自动生成的,所以我不确定如何在 php.ini 中获取字段的值。

同样在获取字段的值之后,我还想创建一个数组。

这就是我希望将所有字段的值保存在 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"),
...
);
4

2 回答 2

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];
}
于 2012-08-22T10:19:42.130 回答
0

如果您使用 POST 在表单中提交这些字段,您可以执行以下操作:

foreach ($_POST as $key => $value) {
    $fieldset[$key] => $value;
}
于 2012-08-22T10:15:28.527 回答