使用jQuery获取<textarea>值不能按预期工作

sup*_*nic 1 html javascript jquery

这里有一些"jQuery获取元素值"的问题,但我无法找到一个对我的情况有帮助的问题.请在标记为重复之前阅读,但我很乐意指出另一个成功回答我的问题的问题.

我有以下内容 <textarea>

<textarea id="comment_text" class="comment" onblur="if(this.value == '') { this.value = 'Comment...'; nocomLeft() }" onfocus="if(this.value == 'Comment...') { this.value = ''; comLeft() }">Comment...</textarea>
Run Code Online (Sandbox Code Playgroud)

这会添加占位符文本,在有焦点时将其删除,如果没有输入则再次添加.

现在在各个方面,比如当我点击一个按钮时,我会:

var comment = $('#comment_text').text();
Run Code Online (Sandbox Code Playgroud)

Comment...即使我输入了文本区域,也无论返回值是什么,单击其他地方以删除焦点,并且可以清楚地看到我的新文本仍然在文本区域中 - $('#comment_text').text()' always comes back评论...

我很难过,所有的帮助表示赞赏.

谢谢

tym*_*eJV 5

使用 .val()

$('#comment_text').val();
Run Code Online (Sandbox Code Playgroud)

另外,保存一些JS,并使用该placeholder属性.

  • 为了澄清这个答案,".text()方法不能用于表单输入或脚本.要设置或获取input或textarea元素的文本值,请使用.val()方法." http://api.jquery.com/text/ (2认同)