我正在使用Messi作为模态窗口。在这种情况下,我向模态窗口添加了一个文本区域,但由于DOM已经加载,因此无法访问其中的值。我目前的代码如下:
new Messi('<i class="fa fa-envelope fa-3x pull-left"></i><strong>Send a message to ' + co + '. </strong><br />Check the Messages tab to converse with ' + co + '.'
+ '<label class="textarea">'
+ '<textarea id="themessage" name="notes" placeholder="Enter Message" rows="5" style="margin-top:11px"></textarea>'
+ '</label>'
+ '<div class="note">Enter Message</div>', {
title: 'Message ' + co ,
titleClass: '',
modal: true,
closeButton: true,
unload:false,
buttons: [{
id: 0,
label: 'Send Message',
class: '',
val: 'Y'
}],
callback: function (val) {
if (val === 'Y') {
var themsg = $("textarea#themessage").val();
$.ajax({
type: 'post',
url: 'controller.php',
data: {
'processMessage': id,
'recipient':recipient,
'company': co,
'msgsubject':msgsubject,
'body': themsg,
'title':encodeURIComponent(name)
},
beforeSend: function () {
parent.animate({
'backgroundColor': '#FFF'
}, 400);
},
success: function (msg) {
$('html, body').animate({
scrollTop: 0
}, 600);
$('#msgholder').html(decodeURIComponent(msg));
}
});
}
}
});
在回调函数中,我尝试抓取值,但没有运气
var themsg = $("textarea#themessage").val();
我还尝试在初始点击功能中设置变量来调用模态窗口,但由于在编辑模态文本区域之前加载了DOM,因此它无法正常工作。
$('body').on('click', 'a.mod-button', function () {
var themsg = $("textarea#themessage").val();
console.log(themsg);
});
当用户在模态窗口中单击“提交”时,如何获取新输入的文本?
答案 0 :(得分:0)
也许你可以尝试使用
var themsg = $("#themessage").val();
而不是:
var themsg = $("textarea#themessage").val();
如果文本框已经有Id =“themessage”,我认为回调正在寻找该元素。