Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态创建的文本框不';我无法使用$\u POST_Javascript_Php_Jquery - Fatal编程技术网

Javascript 动态创建的文本框不';我无法使用$\u POST

Javascript 动态创建的文本框不';我无法使用$\u POST,javascript,php,jquery,Javascript,Php,Jquery,对于投票系统,人们可以看到3个文本框。但他们可以手动添加文本框,以防他们想投票给更多的艺术家。但这些文本框是使用以下代码通过Javascript动态创建的: $(document).ready(function(){ var counter = 4; $("#addButton").click(function () { var newTextBoxDiv = $(document.createElement('div')) .attr

对于投票系统,人们可以看到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);
    });
});
$(文档).ready(函数(){
var计数器=4;
$(“#添加按钮”)。单击(函数(){
var newTextBoxDiv=$(document.createElement('div'))
.attr(“id”,“TextBoxDiv”+计数器);
newTextBoxDiv.after().html('Textbox#'+计数器+':'+
'');
newTextBoxDiv.appendTo(“#textboxsgroup”);
计数器++;
如果(计数器==11){
document.getElementById('addButton').style.visibility='hidden';
document.getElementById('resetButton').style.position=“绝对”;
document.getElementById('resetButton').style.left=“60px”;
返回false;
} 
});
$(“#移除按钮”)。单击(函数(){
如果(计数器==1){
警报(“不再需要删除文本框”);
返回false;
}   
计数器--;
$(“#TextBoxDiv”+计数器).remove();
});
$(“#getButtonValue”)。单击(函数(){
var msg='';

对于(i=1;i文本框需要定义“name”属性。

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

顺便说一句,
newTextBoxDiv.after().html
中的
after()
方法是完全无用的


希望这能有所帮助。

“runat=server”-你从一些.NET源代码中获取了吗?^这一点,我认为你应该删除该属性或将其设置为runat=“server”,并且,为了使其更简单,为style=“width:630px;height:30px;font size:18px;opacity:0.9;”创建一个类没有完整的内联css。动态文本框无法正常发布没有充分的理由。您使用的是标准表单提交还是AJAX?您是否正在访问
$\u post['textbox']
作为一个数组?顺便说一句,您应该将
元素包装在输入周围,或者使用
for
属性将其链接到输入框。@Barmar前三个框是静态的,但使用完全相同的设置,动态框将无法工作。(基本提交和正确使用数组)他这样做:
name=“textbox[]”“
textbox[]作为一个名称是有效的吗?我不这么认为。这是肯定的。它一直在使用,PHP(以及其他脚本语言,我想)会自动将具有此名称的所有参数收集到一个数组中。