单击按钮后没有获取文本区域文本?

Posted

技术标签:

【中文标题】单击按钮后没有获取文本区域文本?【英文标题】:Not getting text area text after button click? 【发布时间】:2015-09-24 21:38:03 【问题描述】:

我在 textarea 中有一些竞争 ..当我提醒它给出正确的竞争时。但是当我在文本竞争区域中附加“你好”文本时。并在按钮单击时获得竞争,它没有给出更新的竞争,为什么?它应该显示“你好”竞争。它显示以前的竞争为什么?

这里是代码 https://jsfiddle.net/4oa1q9qe/1/

$(document).ready(function()
 alert($("#test").html())   


 $("#btn").click(function()
      alert($("#test").html())   
 )


) 
在文本区域中添加“hello”并获取它给出的内容与之前的内容相同的内容?

【问题讨论】:

请不要链接到代码,理解问题所需的一切和​​期望的结果都应该包含在问题中。 【参考方案1】:

使用val()选项获取输入或textarea元素的文本值

.val()方法主要用于获取input、select、textarea等表单元素的值

$(document).ready(function()
 alert($("#test").val())  

 $("#btn").click(function()
      alert($("#test").val())   
 )
)

DEMO

【讨论】:

但是当我需要 html 竞争时,@nagpal 失败了? @user944513 这不是 textarea 包含 HTML 的目的。我认为textarea 标签名称对此非常明确【参考方案2】:

使用$("#test").val() 而不是$("#test").html()

$(document).ready(function()
 alert($("#test").val())   
 
 
 $("#btn").click(function()
      alert($("#test").val())   
 )
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea rows="4" cols="50" id="test">
At w3schools.com you will learn how to make a website. We offer free tutorials in all web development technologies. 
</textarea>
<button id="btn">btn</button>

【讨论】:

for html 争辩为什么失败?【参考方案3】:

它显示了以前的争论为什么?

&lt;textarea&gt; 元素的内部内容,例如foo

<textarea>foo</textarea>

用作默认值。更改 textarea 的 并不会更改其内部内容,它只会更改 value 属性。因此,当您使用 .html() 时,您将获得原始 HTML 中存在的值。

如前所述,使用.val() 获取当前值。另见val() vs. text() for textarea。

【讨论】:

【参考方案4】:

使用.val() 代替.html()

.val() 返回或设置&lt;textarea&gt;&lt;input&gt; 的值。它对其他任何东西都没有影响。

$("button").click(function() 
  alert($("textarea").val())
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea></textarea>
<button>Show data</button>

【讨论】:

以上是关于单击按钮后没有获取文本区域文本?的主要内容,如果未能解决你的问题,请参考以下文章

HTML5如何从文本区域中获取选定的文本

尝试在单击按钮时从两个不同的文本区域复制文本

单击提交按钮时将自定义文本从选择框提交到文本区域

单击按钮时在剪贴板中复制文本区域的文本

从 TinyMCE 文本区域获取值

用单击的按钮填充文本区域