jqueryでテキストエリアを動的に生成した後、このテキストエリアの値を取得してログに記録しようとしましたが、これは最初に試したときに機能しますが、2回目、3回目などは値が空白のままです。理由はわかりませんが、このテキストエリアの新しい値を取得するのは、ページを更新するときだけです。
$(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;
});