无法获取文本区域值
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);
});
我正在使用 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);
});