PHP和jQuery -将输入值推入数组以进行post


PHP and jQuery - pushing input values into an array to be POSTed

我正在构建一个表单-当用户点击'复制'按钮时,它的一部分动态生成并增加输入字段的个人id。例如,为名字创建的输入字段的id为'firstname1',当它复制时,它变成'firstname2'等等。

我的问题是在php"确认"页面,我试图建立。我想要回显每个输入字段生成和填充,而不硬编码一堆回显。我被告知要使用数组而不是单独的变量名称-我有点理解这个概念,但我很短。

我试图创建一个数组来捕获每个新输入的值,这样我就可以$_POST数组,然后循环和回显每个值,但我真的不明白需要改变什么,在哪里实现它。

下面的代码复制了整个容器div,它的输入字段,并增加了它的类号:

$(#replicate').click(function(){
  var $cloned = $('.container1').clone();
  $cloned.find('input').val('');
  $cloned.appendTo($('.emptyContainer'));
  var container = $(".emptyContainer div").length;
  var containerNumber = container + 1;
  var containerClass = 'container' + containerNumber; 
  $(".emptyContainer .container1").attr("class", containerClass);

然后输入id以相同的方式递增:

var fnameID = 'firstname' + containerNumber;
$('.emptyContainer #firstname1').attr({id: fnameID, name: fnameID});

有更多的输入将包括姓氏,电话,电子邮件等。

另一个用户建议:

foreach($_POST as $fieldName=>$fieldValue){
  echo $fieldName." = ".$fieldValue."<br/>";
}

虽然这可以让我在php页面上得到所有内容,但它都在一个大块中,这将使后来的样式有点麻烦。

我如何获取每个新输入的输入值,将它们存储在一个数组中,并以这样一种方式将它们发布到php端,当用户点击提交时,所有相关信息都保留在相关区域?

您可以尝试以下方法,因为这种方法最适合我在动态行的情况下。

代码是不太可读的,因为我直接从项目粘贴,但仍然希望它会有所帮助

$('.add-option').live('click',function(){
        if(rowCtr < ucount){
            var tr = '<tr class="input-'+counter+'"><td><select id="itb_users" class="itb_users" name="project[itb_users]['+counter+']" >'
                tr +=     '<option value=0>Select</option>'
                          <?php foreach ($itb_users as $item){ ?>
                tr +=             '<option grade="<?php echo $item->grade; ?>" value="<?php echo $item->id; ?>"><?php echo $item->first_name; ?></option>';  
                         <?php } ?>
                tr +=   '</select>'
                tr += '</td>'
                tr +=   '<td>&nbsp;</td>'
                tr +=   '<td><input class="_hour" id="project[input-hour]['+counter+']" name="hours['+counter+']" type="text" class="field" style="width:30px"/></td>'
                tr +=   '<td><img class="add-option" src="'+'<?php img_src('add.png'); ?>'+'" />&nbsp;&nbsp;<img class="remove-option" src="'+'<?php img_src('remove.png'); ?>'+'" /></td>'
                tr +=   '</tr>';
                counter++;
                rowCtr++;
     .......

在提交PHP时将收到一个包含相关记录的变量项目。