如何将输入字段添加到窗体

时间:2015-11-25 10:54:27

标签: javascript jquery

我有一个表单,需要添加字段/行。 我的代码添加了输入字段,但在提交表单后我无法获取值。

HTML

PdfPCell

如果提交表单,请转储内容。

<form action="#" method="POST">
<div class="col-md-12">
    <fieldset class="fieldset-language" data-count="1">
        <legend>Legg til kostnader</legend>
        <div class="fieldset-content">
            <div class="row">
                <div class="col-md-5 form-group ">
                    <label for="">Cost</label>
                    <select name="verdi[]" class="form-control" >                                   
                        <?php foreach($kostnader as $Cost) { ?>
                            <option value="<?php echo $Cost; ?>"><?php echo $Cost;?></option>
                        <?php } ?>                                  
                    </select>
                </div>
                <div class="col-md-5 form-group ">
                    <label for="">Verdi</label>                                                         
                    <input type="text" class="form-control" id="Totalt" name="kostnad[]" placeholder="Some value">
                </div>

                <div class="col-md-2 form-group ">

                </div>
            </div>

        </div>
        <div class="input_fields_wrap"></div>

        <button class="add_field_button btn btn-primary" data-fields="0" name="leggtil">+ Add</button><br><br>
        <button type="submit" name="submit" class="btn btn-danger btn-lg">Send</button>

    </fieldset>
</div>

jQuery代码,用于添加和克隆输入字段:

$post = array();

 for($i=0;$i<count($_POST['kostnad']);$i++){

      $post = [
       'kostnad'      => $_POST['kostnad'][$i],
       'verdi'      => $_POST['verdi'][$i]
      ];

 }

如果提交了按钮,请运行此var转储: 的var_dump($ _ POST);

问题是我无法获取添加的字段上的数据,仅在第一个条目上,有没有办法获取添加字段的数据?

1 个答案:

答案 0 :(得分:1)

如果您在发帖时查看导航器调试器,则所有变量都在那里,因为您使用方括号[]命名它。如此处Multiple inputs with same name through POST in php所述,您的POST值被定义为每个变量名称的数组。因此,您的代码正在运行,但您可能更喜欢使用多维数组来保存数据:

$post = array();

for($i = 0; $i < count($_POST['kostnad']); $i++) {

     $post[$_POST['verdi'][$i]] = [
      'kostnad'    => $_POST['kostnad'][$i],
      'verdi'      => $_POST['verdi'][$i]
     ];
}

echo "<pre>";
print_r($post);
echo "</pre>";

在此示例中,每个值都保存在$ post子阵列中,由&#39; verdi&#39;索引。

希望它有所帮助。