克隆的div值不通过POST发送

时间:2014-05-23 12:52:18

标签: javascript php

我有一个javascript函数克隆包含inputfield的div,现在问题是克隆的inputfield值不是通过post发送的。只有数组的第一个值才能获得值。

任何人都知道可能是什么问题?

发布按钮:

if(isset($_POST['VolgendeStap'])) {
  $phonenumberAmount = count($_POST['phoneNumbers']);

    echo $phonenumberAmount;
    echo '<br>';
    echo $_POST['phoneNumbers'][0];
    echo $_POST['phoneNumbers'][1];
}

带输入字段的分区

echo "<div class='allPhoneNumbers'>";
    for($j = 0; $j < $phonenumberAmount; $j++) {


        echo "<div id='phoneNumber{$j}'>";
            echo "<input type='text' name='phoneNumbers[]'>";
            echo "<input type='button' class='removeButton' value='x'>";
        echo "</div>";

        echo '<script>';
        echo 'current++;';
        echo '</script>';

    }

    echo "</div>";
    echo "<input type='button' id='cloneButton' onclick='cloneDiv(phoneNumber0);' value='Nog een nummer'>";

使用Javascript:

var max = 5;
var current = 0;

// Duplicates the DIV
function cloneDiv(divID) {

    if(current < max) {

        var newDiv = $(divID).clone();
        newDiv.attr("id", "phoneNumber"+current);

        current++;

        newDiv.children()[0].value = '';
        newDiv.find(".removeButton").show();
        newDiv.children()[1].onclick = function() {
            $(this.parentNode).remove();
            current--;
            if(current < max) {
                $("#cloneButton").show();
            }
        };

        newDiv.appendTo(".allPhoneNumbers");

        if(current == max) {
            $("#cloneButton").hide();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

看起来你在每个页面加载时声明“var current = 0”,当你发布表单时它会执行那部分代码(这会导致页面重新加载)这就是为什么你总是只看到第一。你应该有一个函数,通过实际计算div的数量来设置“当前”的初始值和未来值。如果它成功了,请告诉我,干杯!