JavaScript:创建具有不同名称的表单字段?

时间:2014-12-23 10:52:12

标签: javascript jquery

我正在使用以下代码创建文件上传输入字段,它运行正常。

然而,我需要像这样重命名它们:

mytext[1]
mytext[2]
mytext[3]
等等......

所以我只是简单地放了var i = 0;然后我将i++放在代码中。当我提醒i我在警报框中得到1,2,3等,所以我知道这有效。

但这一行是错的,我无法弄清楚如何在这一行中使用i变量:

<div><input type="file" name="mytext[i]"/></div>

这是整个代码:

<script>
$(document).ready(function() {
    var max_fields      = 10; //maximum input boxes allowed
    var wrapper         = $(".input_fields_wrap"); //Fields wrapper
    var add_button      = $(".add_field_button"); //Add button ID
    var i = 0;

    var x = 1; //initlal text box count
    $(add_button).click(function(e){ //on add input button click
        e.preventDefault();
        if(x < max_fields){ //max input box allowed
            x++; //text box increment
            i++
            $(wrapper).append('<div><input type="file" name="mytext[[i]]"/></div>'); //add input box
        }
    });

    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
        e.preventDefault(); $(this).parent('div').remove(); x--;
    })
});
</script> 

和HTML代码:

            <div class="input_fields_wrap">
    <button class="add_field_button">Add More Photos</button>

    <div><input type="file"  name="mytext[]"/></div>
</div>

有人可以就此提出建议吗?

由于

3 个答案:

答案 0 :(得分:2)

您需要将值连接到字符串中,您只能在实际字符串值中添加i

另外,不确定为什么你有双方括号[[]],我想你只需要一套。

试试这个:

$(wrapper).append('<div><input type="file" name="mytext[' + i + ']"/></div>');

Here is a basic example.

答案 1 :(得分:0)

尝试这样的事情,

$(wrapper).append("<div><input type='file' name='mytext[["+i+"]]'/></div>");

答案 2 :(得分:0)

您甚至不需要添加&#34; i&#34;。 PHP将在您提交论坛时自动执行此操作。除非你想给他们其他名字。代码越短越容易维护。