Php 将具有相同名称的多个输入值分配给其他隐藏输入

Php 将具有相同名称的多个输入值分配给其他隐藏输入,php,jquery,html,Php,Jquery,Html,我正在写两张表格。我基本上是从一个表单中获取值,然后将其分配给另一个表单输入字段。第二个表单隐藏了所有字段,因为我需要它来保存所有选择和分配的数据,然后用提交按钮提交隐藏的表单并在$u post中获取所有值 让我澄清一下,下面是包含我分配给隐藏表单的数据的tr <tr> <td align="center"><input type="text" name="name" id="spocName"></td> </tr&

我正在写两张表格。我基本上是从一个表单中获取值,然后将其分配给另一个表单输入字段。第二个表单隐藏了所有字段,因为我需要它来保存所有选择和分配的数据,然后用提交按钮提交隐藏的表单并在$u post中获取所有值

让我澄清一下,下面是包含我分配给隐藏表单的数据的tr

  <tr>
        <td align="center"><input type="text" name="name" id="spocName"></td>
  </tr>

  <tr>
        <td align="center"><input type="text" name="name" id="spocName"></td>
  </tr>

  <tr>
        <td align="center"><input type="text" name="name" id="spocName"></td>
  </tr>
  .
  . 
  .
在上面的代码中,$(“#spc name”)是隐藏形式的输入字段id,$(“#spocName”)是第一种形式的输入字段id。一旦分配了值,用户就可以使用另一个按钮提交隐藏表单。表单提交后,将数据保存到db中,但我现在讨论的是这个问题,问题是我所做的只是为单个tr工作,但我需要一个通用代码,以便在db中插入多个记录

当我打印_r$_post时,虽然我输入了多个记录,但我只得到了第一个记录

  Array
 (    
    [spc-name] => one    
 )
但我期待的是

Array
(    
    [0] => Array
    (    
    [spc-name] => one    
    )
    [1] => Array
    (    
    [spc-name] => two    
    )
    [2] => Array
    (    
    [spc-name] => three    
    )
    . 
    .
    . 
    .      

 )
我不知道在哪里修改代码,也不知道是否需要循环将代码放在哪里。伙计们,我需要你们的帮助


我尽力解释,但如果仍然不清楚,我可以编辑我的问题,使我的问题变得更清楚。thanx预先

使用名称作为数组,如下所示

<input type="text" name="name[]" id="spocName">


也不要尝试为多个元素提供相同的id。id必须是唯一的。

您可以使用如下数组

<tr>
    <td align="center"><input type="text" name="names[]" class="spocName"></td>
</tr>
更新

注意:如果有多个元素使用相同的名称,则应使用
CLASS
而不是
ID

使用jQuery,执行以下操作:

<?php
$names = $_POST['names'];
foreach($names as $name){
   echo $name;
}
?>
$('.spocName').each(function(){
    //get the value of the table row field
    var formValue = $(this).val();
    //now, create a new hidden input
    var hiddenForm = '<input type="hidden" name="hiddenNames[]" value="'+formValue+'">';
    //append the new hidden input to your hidden form
    $('div#hiddenForm').append(hiddenForm);
});
$('.spocName')。每个(函数(){
//获取表行字段的值
var formValue=$(this.val();
//现在,创建一个新的隐藏输入
变量hiddenForm='';
//将新的隐藏输入附加到隐藏表单
$('div#hiddenForm')。追加(hiddenForm);
});

以上假设您有一个ID为hiddenForm的
DIV
,其中包含隐藏的输入字段。

黄金法则-不要使用两个ID相同的DOM元素。如果使用,你迟早会遇到一些错误。你直接发布第一个表单,但我提到第一个表单只会将值发送到隐藏表单,而隐藏表单则会提交值。这是隐藏表单更新了隐藏输入表单的答案。
$('.spocName').each(function(){
    //get the value of the table row field
    var formValue = $(this).val();
    //now, create a new hidden input
    var hiddenForm = '<input type="hidden" name="hiddenNames[]" value="'+formValue+'">';
    //append the new hidden input to your hidden form
    $('div#hiddenForm').append(hiddenForm);
});