如何让javascript在字段中插入输入表单?

时间:2014-06-17 08:03:19

标签: javascript jquery html

我尝试过几次不同的写作,但它只是不起作用。以下代码是否有明显错误?我试图让它插入一个名称值不断变化的新表单输入。

<script>
    $("document").ready(function(){
        console.log('wtf is going on');
        var i = 0;
        var insert = '<div class="form-group"> +
                <label>Categories</label>+
                <input type="text" class="form-control" name="category' +i+'" value="test"></div>';
        $(".lolz").click(function(){
            i++;
            $(".lolz").before(insert)});
    });
</script>

2 个答案:

答案 0 :(得分:1)

问题在于insert字符串中的换行符:

var insert = '<div class="form-group">
              <label>Categories</label>
              <input type="text" class="form-control" name="category' + i +
             '" value="test"></div>';

JavaScript不支持多行字符串,而没有明确告诉解释器该字符串是多行的。

尝试用以下代码替换这些行:

var insert = '<div class="form-group"> \
              <label>Categories</label> \
              <input type="text" class="form-control" name="category' + i + 
             '" value="test"></div>';

斜线(\)&#34;逃脱&#34;下面的换行符,它基本上告诉JavaScript解释器&#34;这个字符串在下一行继续&#34;。

稍微更维护一致的方法是使用字符串连接,如下所示:

var insert = '<div class="form-group">' +
             '<label>Categories</label>' +
             '<input type="text" class="form-control" name="category' + i + 
             '" value="test"></div>';

答案 1 :(得分:-1)

试试这个......

var insert = '<div class="form-group">'
              insert += ' <label>Categories</label>'
               insert += '<input type="text" class="form-control" name="category' +i+'" value="test"></div>';