Php 将具有相同名称的多个输入值分配给其他隐藏输入
我正在写两张表格。我基本上是从一个表单中获取值,然后将其分配给另一个表单输入字段。第二个表单隐藏了所有字段,因为我需要它来保存所有选择和分配的数据,然后用提交按钮提交隐藏的表单并在$u post中获取所有值 让我澄清一下,下面是包含我分配给隐藏表单的数据的trPhp 将具有相同名称的多个输入值分配给其他隐藏输入,php,jquery,html,Php,Jquery,Html,我正在写两张表格。我基本上是从一个表单中获取值,然后将其分配给另一个表单输入字段。第二个表单隐藏了所有字段,因为我需要它来保存所有选择和分配的数据,然后用提交按钮提交隐藏的表单并在$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>
<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);
});