1

这是我用来动态添加/删除输入文本字段的脚本。我正在使用容器属性,因此我可以为此输入字段创建多个单独的块。

$(function(){
    $('.container > a').click(function(e){
        e.preventDefault();
        var $this= $(this),
            prnt = $this.parent(),
            i = prnt.find('input').length;
        if($this.hasClass('add')){
            $('<div><input type="text" class="field" name="dynamic[]" value="' + i + '" /></div>').hide().fadeIn('slow').appendTo($('.inputs',prnt));
        }else if($this.hasClass('remove') && i > 1){
            prnt.find('input.field:last').remove();
        }else if($this.hasClass('reset') && i > 1){
            prnt.find('input.field:gt(0)').remove();
        }
    });
})

这是我用来构建输入字段的 html 代码:

<div class="container">
<a href="#" class="add">Add</a> | <a href="#" class="remove">Remove</a> | <a href="#" class="reset">reset</a>
    <div class="inputs">
        <input type="text" name="dynamic1" class="field"/>
    </div>
</div>

我需要一个 PHP 代码来输出输入字段中的所有字段。如果我添加 3 个输入字段,我希望 PHP 代码一个接一个地输出所有这些输入字段。

我尝试使用 foreach 代码:

<?php
foreach($_POST['dynamic[]'] as $value) {
echo "$value <br />"; // change this to what you want to do with the data
}
?>

但是我在第二行(foreach 行)不断收到错误

我该怎么做呢?请帮忙!

4

2 回答 2

2

你应该改变

foreach($_POST['dynamic[]'] as $value) {

foreach($_POST['dynamic'] as $value) {

那就是如果你有这样的 HTML

<input type="text" name="dynamic[]" class="field"/>
<input type="text" name="dynamic[]" class="field"/>

但是使用您当前的 HTML <input type="text" name="dynamic1" class="field"/>,您可以看到这$_POST['dynamic']不是一个数组,您应该像这样回显它

echo $_POST['dynamic1'] ;
于 2012-09-27T07:03:09.157 回答
1

而不是$_POST['dynamic[]'尝试$_POST['dynamic']

<?php
foreach($_POST['dynamic'] as $value) {
echo "$value <br />"; // change this to what you want to do with the data
}
?>
于 2012-09-27T07:03:37.793 回答