无法获取文本区域值

Unable to get textarea value

我正在使用 onClick 事件从文本区域获取值。 如果我使用下面的代码,它 returns html 不是下面的值:

$(this).find(".button2").click(function($e) {
    var comment_content = $(this).find('textarea[name="comment_content"]').val();
    console.log(comment_content);
});

输出:

<textarea class="styledtextarea" id="comment_content" name="comment_content" onblur="if(this.value=='')this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue)this.value='';"></textarea>

即使我在文本区域中给出任何值,我仍然看到空的。

这是我的 html :

<div class="">
<div class="">
<form id="" class="">
<div class="">
    <p></p>
    <div id="" class="">
        <div class="" style="">
        </div>
    </div>
</div>
<div id="" class="">
    <p><b></b></p>


        <textarea class="styledtextarea" id="comment_content" name="comment_content" onblur="if(this.value=='')this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue)this.value='';" ></textarea>

        <a  href="#" class="button2" type="submit"><span><b>Send<b></span></a>

    </form>
</div>
</div>
</div>

请尝试以下

   var comment_content = $(this).find("textarea#comment_content").val();

当您在 click 回调函数中使用 this 时,您引用的是触发 click 事件的对象,在本例中为 .button2

当您执行 var comment_content = $(this).find('textarea[name="comment_content"]').val(); 时,您实际上是在 .button2 元素中搜索 textarea[name="comment_content"]

你需要做的是:

$(".button2").click(function($e) {
    var comment_content = $('textarea[name="comment_content"]').val();
    console.log(comment_content);
});

根据您的 JS 代码,textarea 是按钮的子元素,我确定不是这种情况。

试试这个代码(不要在 $(this) 上使用 .find() 方法来查找文本区域):

$(this).find(".button2").click(function($e) {
                        var comment_content = $("#comment_content").val();
                console.log(comment_content);

});