从具有相同名称的多个输入获取值,使用jQuery动态输入字段

时间:2014-12-03 16:21:39

标签: php jquery post input

我有一个表单,我可以通过按钮添加更多输入

$("#inputs").click(function(){
$("#posicion").append('<div><div class="span4"><input type="text" name="nameInput[]" required ></div> <div class="span4"><input type="text" name="unidad[]" required ></div>');});

如果元素数量可以动态增加,我该如何获取值?

我试过了:

$name = $_POST['nameInput'];
$unidad = $_POST['unidad'];

foreach( $name as $key => $nam ) 
{
   //method to insert in mysql by medoo
   $form_field = $database->insert("form_field",[
    "name_template" => $form,
    "name" => $nam,
    "unidad" => $unidad['key']
    ]);
}

但显然这段代码是错误的,因为元素可以递增,它们不是静态的

2 个答案:

答案 0 :(得分:0)

指定键,以便您可以将nameInput与unidad相关联。您可以使用jQuery递增值,创建随机字符串等。

$("#posicion").append('<div><div class="span4"><input type="text" name="nameInput[' + someIncrementedValue + ']" required ></div> <div class="span4"><input type="text" name="unidad[' + someIncrementedValue + ']" required ></div>');});

答案 1 :(得分:0)

我会这样做,因为似乎有相同数量的名称为unidad

$name = $_POST['nameInput'];
$unidad = $_POST['unidad'];

for ($i = 0; $i < count($name); $i++) {
   $form_field = $database->insert("form_field",[
    "name_template" => $form,
    "name" => $name[$i],
    "unidad" => $unidad[$i]
    ]);
}