如何使用Javascript更改<textarea>的内容


139

如何<textarea>使用JavaScript 更改元素的内容?

我想把它清空。

Answers:


244

像这样:

document.getElementById('myTextarea').value = '';

或在jQuery中这样:

$('#myTextarea').val('');

你在哪里

<textarea id="myTextarea" name="something">This text gets removed</textarea>

对于所有反对者和非信奉者:


认为价值没有意义,因为没有价值。价值=在其中,但谢谢!
伊恩·

1
在Windows移动设备上的Internet Explorer中不起作用。
Paul

9
不适用于chrome v61,该值不会影响输入框中的值
Aero Wang

15

如果可以使用jQuery,并且强烈建议您这样做,那么您只需

$('#myTextArea').val('');

否则,它取决于浏览器。假设你有

var myTextArea = document.getElementById('myTextArea');

在大多数浏览器中

myTextArea.innerHTML = '';

但是在Firefox中,

myTextArea.innerText = '';

弄清楚用户正在使用哪种浏览器作为练习。当然,除非您使用jQuery;)

编辑:我收回了。看起来对textarea的.innerHTML的支持得到了改善。我在Chrome,Firefox和Internet Explorer中进行了测试,所有这些都可以正确清除文本区域。

编辑2:我刚刚检查过,如果您在jQuery中使用.val(''),它只是为textarea设置.value属性。所以.value应该很好。


3
.value =''; 在Chrome FF和Safari中可以使用... .innerHTML在Chrome中不起作用,无法在其他版本中进行测试。
伊恩·

1
您不应将innerHTML和innerText用于文本区域。应该使用value属性。因此,$('#myTextArea')。val('')或document.getElementById('myTextArea')。value =''是最佳选择
Parth

8

尽管已经给出了许多正确答案,但是经典的(读取非DOM)方法将是这样的:

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

您的textarea在HTML中的嵌套位置如下所示:

<form name="yourform">
    <textarea name="yourtextarea" rows="10" cols="60"></textarea>
</form>

碰巧的是,它也可以与Netscape Navigator 4和Internet Explorer 3一起使用。而且(并非不重要),移动设备上的Internet Explorer。



2

将textarea放入表单中,命名它们,然后只需轻松使用dom对象即可,如下所示:

<body onload="form1.box.value = 'Welcome!'">
  <form name="form1">
    <textarea name="box"></textarea>
  </form>
</body>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.