使用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;
});
答案 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;
});