在javascript中设置文本区域的文本

时间:2013-09-19 18:19:22

标签: javascript codemirror

为什么这不能设置文本区域的文本?

document.getElementById("code").value = "hey farmer";

我甚至尝试过:document.getElementById('code').value = "hey farmer";

有没有办法使用getElementByName来设置值?

感谢任何帮助

[HTML]

    <form>
        <textarea id="code" name="code">
            Lollllllll
</textarea>
    </form>

4 个答案:

答案 0 :(得分:2)

它运作得很好。在

<textarea id=code>Foo</textarea>
<button type=button onclick="document.getElementById('code').value = 'Bar'">

单击按钮时文本将更改为“Bar”。

HTML5

  

value属性必须在获取时返回元素的API值; 设置时,必须将元素的原始值设置为新值,将元素的脏值标志设置为true,然后将文本输入光标位置移动到文本字段的末尾,取消选择选择文本并将选择方向重置为无。

所以这就是行为。


问题可能是当你的代码运行时你有id="code"个多个(或零)元素,所以它得错了。


另一个问题可能是您的<textarea>是不可变的。

http://www.w3.org/TR/html5/forms.html

  

如果textarea元素既没有被禁用也没有指定readonly属性,那么它是可变的。

答案 1 :(得分:0)

Native API

document.getElementById("id").value="Radha Mohan"

jQuery API

$("#couponRestrictionBean\\.includeProductIds").val("Radha")

答案 2 :(得分:0)

 <form>
    <textarea id="code" name="code">
        Lollllllll
  </textarea>
</form>

替换为:

<form name="yourform">
    <textarea id="code" name="code">
        Lollllllll
   </textarea>
</form>


document.forms['yourform']['code'].value = 'yourvalue';

答案 3 :(得分:0)

如果您在html之后粘贴脚本,那么它将会定义。以下是工作代码:

http://jsbin.com/EDOJEZ/2/edit?html,output

我再说一遍,你必须在你的html标记之后放置你的脚本块。