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

ian*_*ian 124 javascript

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

我想让它变空.

Gre*_*reg 219

像这样:

document.getElementById('myTextarea').value = '';
Run Code Online (Sandbox Code Playgroud)

或者在jQuery中这样:

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

你在哪里

<textarea id="myTextarea" name="something">This text gets removed</textarea>
Run Code Online (Sandbox Code Playgroud)

对于所有的downvoters和非信徒:

  • 不适用于chrome v61,该值不会影响输入框中的值 (7认同)

Ais*_*ina 15

如果你可以使用jQuery,我强烈建议你这样做,你就可以做到

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

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

var myTextArea = document.getElementById('myTextArea');
Run Code Online (Sandbox Code Playgroud)

在大多数浏览器中

myTextArea.innerHTML = '';
Run Code Online (Sandbox Code Playgroud)

但是在Firefox中,你做到了

myTextArea.innerText = '';
Run Code Online (Sandbox Code Playgroud)

弄清楚用户正在使用什么浏览器留给读者练习.除非你使用jQuery,当然;)

编辑:我把它拿回来.看起来对textarea的.innerHTML的支持有所改进.我在Chrome,Firefox和Internet Explorer中测试过,所有这些都正确地清除了textarea.

编辑2:我刚刚检查过,如果你在jQuery中使用.val(''),它只是设置textarea的.value属性.所以.value应该没问题.

  • .value =''; 适用于Chrome FF和Safari ... .innerHTML在Chrome中无法正常运行. (3认同)
  • 您不应该将innerHTML 和innerText 用于文本区域。应使用 value 属性。因此, $('#myTextArea').val('') 或 document.getElementById('myTextArea').value = '' 是最佳选择 (2认同)

Tig*_*ger 8

如果是 jQuery...

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

或者

document.getElementById('myText').value = '';
Run Code Online (Sandbox Code Playgroud)

参考:文本区域对象


Pau*_*aul 8

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

document.forms['yourform']['yourtextarea'].value = 'yourvalue';
Run Code Online (Sandbox Code Playgroud)

在HTML中你的textarea嵌套在某个地方,如下所示:

<form name="yourform">
    <textarea name="yourtextarea" rows="10" cols="60"></textarea>
</form>
Run Code Online (Sandbox Code Playgroud)

事实上,这也适用于Netscape Navigator 4和Internet Explorer 3.而且,并非不重要,移动设备上的Internet Explorer.