0

对于投票系统,人们会看到 3 个文本框。但他们可以手动添加文本框,以防他们想投票给更多艺术家。但是这些文本框是通过 Javascript 使用以下代码动态创建的:

$(document).ready(function(){
    var counter = 4;
    $("#addButton").click(function () {


        var newTextBoxDiv = $(document.createElement('div'))
            .attr("id", 'TextBoxDiv' + counter);

        newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' +
                                   '<input type="text" name="textbox[]" id="textbox' + counter + '" value="" style="width:630px; height:30px; font-size:18px; opacity:0.9;" runat=server>');

        newTextBoxDiv.appendTo("#TextBoxesGroup");
        counter++;
        if(counter==11){
            document.getElementById('addButton').style.visibility='hidden';
            document.getElementById('resetButton').style.position="absolute";
            document.getElementById('resetButton').style.left="60px";
            return false;
        } 
    });

    $("#removeButton").click(function () {
        if(counter==1){
            alert("No more textbox to remove");
            return false;
        }   

        counter--;

        $("#TextBoxDiv" + counter).remove();

    });

    $("#getButtonValue").click(function () {

        var msg = '';
        for(i=1; i<counter; i++){
            msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val();
        }
        alert(msg);
    });
});

这些文本框生成的表单重定向到“confirm.php”,但在confirm.php 中我无法从动态创建的文本框中获取值。

如何解决这个问题?

4

2 回答 2

1

也许您可以尝试将代码更改为以下代码,因为我想知道 JQuery 是否有问题:

http://jsfiddle.net/jbLZH/

顺便说一句,里面的after()方法newTextBoxDiv.after().html完全没用。

希望这能有所帮助。

于 2013-11-05T06:07:15.910 回答
-2

文本框需要定义“名称”属性。

于 2013-11-04T18:05:00.447 回答