提交文本后,jQuery消失了

时间:2014-04-29 07:46:59

标签: javascript jquery html submit

当我在输入字段中写入一些文本时。并希望它显示在输入字段下方,按下提交按钮时它会消失。我不知道为什么。

Live Demo

HTML:

<textarea id ="comments" cols="30" rows="3"></textarea>
            <input type="submit" value="Submit" id="submit"/> 
            <div id="divComments"></div>

Jquery的:

function addComment(name1) {

        var container = $('divComments');
        var inputs = container.find('label');
        var id = inputs.length + 1;

        var div = $('<div />');

        $('<label />', {
            id: 'comment' + id,
            text: name1
        }).appendTo(div);

        div.appendTo(container);     
    }

    $('#submit').click(function () {
        addComment($('#comments').val());
        $('#comments').val("");
    });

3 个答案:

答案 0 :(得分:5)

您错过了# ID选择器,更改了

var container = $('divComments');

var container = $('#divComments');

<强> See the fixed demo.

答案 1 :(得分:2)

divComments div的选择器缺少id选择器的#

function addComment(name1) {
    var container = $('#divComments');
    var inputs = container.find('label');
    var id = inputs.length + 1;
    var div = $('<div />');

    $('<label />', {
        id: 'comment' + id,
        text: name1
    }).appendTo(div);

    div.appendTo(container);
}

$('#submit').click(function () {
    addComment($('#comments').val());
    $('#comments').val("");
});

Working fiddle

答案 2 :(得分:1)

以及修复以下行以添加哈希

    var container = $('#divComments');

您还需要更改提交功能:

$('#submit').click(function (e) {
    e.preventDefault();
    addComment($('#comments').val());
    $('#comments').val("");
});

这将停止实际提交的表单(并重新加载页面) - 这可能是您的文本消失的原因。如果您没有围绕输入的表单,那么您不需要为此答案的第二部分而烦恼。