如何使用JavaScript更改<textarea>
元素的内容?
我想让它变空。
答案 0 :(得分:205)
像这样:
document.getElementById('myTextarea').value = '';
或者在jQuery中这样:
$('#myTextarea').val('');
你在哪里
<textarea id="myTextarea" name="something">This text gets removed</textarea>
对于所有的贬低者和非信徒:
value属性:检索或设置textArea元素的输入字段中的文本。
value DOMString控件中包含的原始值。
答案 1 :(得分:15)
如果你可以使用jQuery,我强烈建议你这样做,你只需要做
$('#myTextArea').val('');
否则,它取决于浏览器。假设你有
var myTextArea = document.getElementById('myTextArea');
在大多数浏览器中都可以
myTextArea.innerHTML = '';
但是在Firefox中,你做了
myTextArea.innerText = '';
确定用户使用的浏览器是留给读者的练习。除非你使用jQuery,当然;)
编辑:我收回了。看起来对textarea的.innerHTML的支持有所改进。我在Chrome,Firefox和Internet Explorer中测试过,所有这些都正确地清除了textarea。
编辑2 :我刚检查过,如果你在jQuery中使用.val(''),它只会为textarea设置.value属性。所以.value应该没问题。
答案 2 :(得分:8)
尽管已经给出了许多正确答案,但经典(读取非DOM)方法将是这样的:
document.forms['yourform']['yourtextarea'].value = 'yourvalue';
在HTML中你的textarea以这样的形式嵌套在某处:
<form name="yourform">
<textarea name="yourtextarea" rows="10" cols="60"></textarea>
</form>
实际上,这也适用于Netscape Navigator 4和Internet Explorer 3。而且,并非不重要,移动设备上的Internet Explorer。
答案 3 :(得分:2)
如果它的Jquery ..
$("#myText").val('');
或
document.getElementById('myText').value = '';
http://www.hscripts.com/tutorials/javascript/dom/textarea-events.php
答案 4 :(得分:2)
将textarea放到表单中,命名它们,然后轻松使用dom对象,如下所示:
<body onload="form1.box.value = 'Welcome!'">
<form name="form1">
<textarea name="box"></textarea>
</form>
</body>