使用在 jquery 和按钮中生成的文本区域时出错
Error using textarea generated in jquery and buttons
我正在尝试创建一个可以回复一些消息的网站,当单击以前的"回复"按钮时,文本区域会在jquery中生成。然后显示一个按钮来发送消息(使用 Ajax),但现在我无法获取文本区域的值,即使尝试使用不同的 id,因为每条消息都有一个数字。
$(document).ready(function() {
//Reply messages
$(".reply-btn").click(function() { //Clicking reply button on message list
var class_reply = this.className.match(/btn_('d+)/)[1];
$( ".panel-body" ).prepend( '<div class="main-reply-msg"></div>' );
$( ".main-reply-msg" ).append( '<textarea class="message_replied" id="message_replied_'+class_reply+'" rows="10" cols="300" style="max-width: 100%;"></textarea>' );
$( ".main-reply-msg" ).append( '<a href="#" class="btn btn-primary reply-msg-conv" style="width:100%;" role="button">Reply</a>' );
$( ".main-reply-msg" ).append( '<hr>' );
$(".reply-msg-conv").click(function() { //Sending the reply
message_replied_txt = $('.message_replied').val();
console.log(message_replied_txt);
});
});
});
这就是代码,我正在尝试使其工作,第二次单击有效,但 textarea.val() 为空。我还尝试将第二个 click() 放在第一个之外,但随后 click() 不起作用。
以前任何人都遇到过这个问题,因为我尝试了很多东西,但没有任何效果。
更新以使其更易于理解:
- class_reply的值工作正常。
- 此函数位于 onready() 函数中。
该函数的工作原理如下:
- 不同消息的列表,其中从jQuery加载(甚至是HTML代码)。
- 单击消息时,将显示完整的消息预览和回复按钮。
- 当您单击按钮时,将加载此功能。
- 该函数已加载(显示文本区域和低按钮),但是当您单击新按钮时,会生成输入的值(文本区域和输入字段)不显示任何值。
尝试这样做:
$(document).on('click', 'element', function(){});
我不
认为您从文本区域检索文本的方式有问题。
在这个小提琴 https://jsfiddle.net/jahnestacado/y3gLtLv4/1/中,我唯一改变的是class_reply
变量。我给了它一个固定的值。因此,当您尝试检索匹配的值时,可能会出现问题。如果控制台.log clas_reply
变量会打印什么?
$(".reply-msg-conv") 对象上的单击事件将不起作用,因为它是从运行时追加的。您将需要功能来触发点击。
$(document).on("click", ".reply-msg-conv", function(){
//your click function
})
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- ng在下拉列表和文本区域提交
- 将文本插入光标所在的文本区域
- 离开页面导航后保留文本区域内容
- Javascript-在文本区域中断,但不在段落中中断
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 测试文本区域中的特定文本格式
- 文本编辑后,append函数不适用于文本区域
- 如何在ReactJs中链接下拉列表和文本区域
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 使用JSON文件中的变量(字符串)填充文本区域
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 延迟高亮显示文本区域中的文本
- 将字母添加到文本区域的末尾
- TinyMCE在新添加的文本区域