动态输入值无法通过Php识别

时间:2017-10-04 02:29:52

标签: php jquery

我有一个表,我可以根据用户需求动态添加带有输入字段的行。这些输入字段存储为数组,因此循环它们可以获取每行中的值以插入到数据库中。问题是在数组中只识别表中的第一个“静态”行。提交时,每个其他动态输入字段都不会存储在输入数组中。表代码的片段是

  <tr><td><input type=number name=minimum[] required></input></td><td><input type=number name=maximum[] required></input></td>   <td><input type=number name=overall[] required></input>    
   <td><?php echo $formular;?></td></tr>
    </tbody><tfoot><tr><td colspan="25"><div class="text-center">
    <button type="submit" class="btn btn-success">Submit</button>  
      </div></td></tr></tfoot></table></div></form>

添加额外行的jquery代码是:

<script>
            $(window).load(function(){
     $(function () {
    var rowv="<tr><td><input type=number name=minimum[] required></input></td>      
     <td><input type=number name=maximum[] required></input></td><td><input 
   type=number name=overall[] required></input></td><td><?php echo $formular;?>
   </td></tr>";         

    $("#addRow").click(function () {
        var row = $(rowv);
        $("#mt > tbody").append(row);
    });
});
});

    </script>

处理数组的(缩写)php代码是:

foreach($_POST['fi'] as $key=>$value){


                    $sql="insert into band(fi) values ('$value')";

  }

仅插入第一行。动态添加的任何行都不会提交给post数组。我怎么解决这个问题?

2 个答案:

答案 0 :(得分:0)

像这样创建输入字段,然后将其附加到表单然后尝试。

var input = document.createElement("input");
            input.type = "text";
            input.name = "minimum[]";
            input.required = "true";
$("#testForm").append(input);

答案 1 :(得分:0)

您的jQuery语法似乎不正确。将单击功能更改为:

$("#addRow").click(function () {
    $("#mt > tbody").append(
        "<tr>" +
          "<td><input type='number' name='minimum[]' required></td>" +
          "<td><input type='number' name='maximum[]' required></td>" +
          "<td><input type='number' name='overall[]' required></td>" +
          "<td><?php echo $formular;?></td>" +
        "</tr>"
    );
});
相关问题