动态textarea值停留在空白处

时间:2013-01-15 14:13:29

标签: jquery textarea

使用jquery动态生成textarea之后,我尝试获取此textarea的值并记录它,这是我第一次尝试时的工作,但第二次,第三次等等。时间值被卡在空白处。我不确定为什么,但它唯一一次获得这个textarea的新值是我刷新页面。

$(document).on('click','.messager',function(e){
        e.preventDefault();
        $('body').append("<div class='messageSender'>"
                +"<div class='colr' id='content'>"
                        +"<button id='modal-close'>Close Window</button>"
                        +"<button id='modal-send'>Send Message</button><br /><br /><br />"
                        +"<label for='messageUser'><font size='5'>Message:</font></label>"
                        +"<textarea id='messageUser' maxlength='1400'> </textarea>"
                    +"</div></div>");
 });

我试图记录值

$(document).on('click','#modal-send',function(e){
    e.preventDefault();
    var msg = $("#messageUser").val();
    console.log(msg);


            $.post("sendMessage.php", { request: "sendMsg"},
            function(data) { 
                                $("#messageUser").val("");
                                $(".messageSender").hide();
                                $(".modal").hide();
                            alert("Message Sent Successfully")  
            });
    return false;   
});

1 个答案:

答案 0 :(得分:0)

原来这是像markpsmith所提到的某种“约束性问题”。我必须在发送消息后使用.remove()方法完全删除div和textarea,否则消息值将被卡在设置为它的初始值上,因为每次单击发送消息时都会附加新的textarea。

           $(document).on('click','#modal-send',function(e){
e.preventDefault();
var msg = $("#messageUser").val();
console.log(msg);


        $.post("sendMessage.php", { request: "sendMsg"},
        function(data) { 
                            $("#messageUser").remove();
                                $(".messageSender").remove();
                                $("#content").remove();
                        alert("Message Sent Successfully")  
        });
return false;   

});