Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery和按钮中生成的textarea时出错_Javascript_Jquery_Html_Textarea - Fatal编程技术网

Javascript 使用jquery和按钮中生成的textarea时出错

Javascript 使用jquery和按钮中生成的textarea时出错,javascript,jquery,html,textarea,Javascript,Jquery,Html,Textarea,我正在尝试创建一个可以回复一些消息的站点,当单击上一个“回复”按钮时,jquery中会生成textarea。然后显示了一个发送消息的按钮(使用Ajax),但现在我无法获取textarea的值,即使尝试使用不同的ID,因为每条消息都有一个数字 $(document).ready(function() { //Reply messages $(".reply-btn").click(function() { //Clicking reply button on message list

我正在尝试创建一个可以回复一些消息的站点,当单击上一个“回复”按钮时,jquery中会生成textarea。然后显示了一个发送消息的按钮(使用Ajax),但现在我无法获取textarea的值,即使尝试使用不同的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);
    });
   });
});
$(文档).ready(函数(){
//回复信息
$(“.reply btn”)。单击(函数(){//单击邮件列表上的回复按钮
var class_reply=this.className.match(/btn_(\d+)/)[1];
$(“.panel body”).prepend(“”);
$(“.main reply msg”).append(“”);
$(“.main reply msg”).append(“”);
$(“.main reply msg”).append(“
”); $(“.reply msg conv”)。单击(函数(){//发送回复 message_responsed_txt=$('.message_responsed').val(); 日志(消息\u已回复\u txt); }); }); });
这就是代码,我正试图让它工作,第二次单击可以工作,但是textarea.val()是空的。我还试着将第二个click()放在第一个之外,但是这个click()不起作用

以前有人遇到过这个问题,因为我尝试过很多方法,但都没有效果

更新以使其更易于理解:

  • class_reply的值运行良好。测试
  • 此函数位于onready()函数中
该功能的工作原理如下:

  • 不同消息的列表,其中 从jquery(甚至html代码)加载
  • 单击消息时,将显示完整的消息预览和一个回复按钮
  • 当你点击按钮时,这个功能被加载
  • 该函数已加载(显示textarea和low按钮),但当您单击new按钮时,将生成输入值(textarea和low) 输入字段)不显示任何值

  • 尝试使用以下方法:

    $(document).on('click', 'element', function(){});
    

    我不认为从textarea检索文本的方式有问题

    在这个小提琴中,我唯一更改的是
    class\u reply
    变量。我给了它一个固定值。因此,当您尝试检索匹配的值时,可能会出现问题。 如果将
    clas\u reply
    变量记录为console.log,它会打印什么?

    美元(“.reply msg conv”)对象上的单击事件将不起作用,因为它是从运行时追加的。您需要打开函数来触发单击

    $(document).on("click", ".reply-msg-conv", function(){
      //your click function
    })
    

    我在first click()内外都尝试过,但没有显示textarea值。甚至我也尝试过在
    $(document).ready(function()之外{
    我试过你的小提琴,效果如预期,我试过显示class_reply,也在我的jquery中工作,但不显示textarea和输入的输入值。我不知道哪里会出现问题。即使使用这个方法,textarea和一个测试输入也是空白的。输入的值不会显示任何内容