【发布时间】:2010-12-11 04:14:48
【问题描述】:
如何使用 JavaScript 更改 <textarea> 元素的内容?
我想把它清空。
【问题讨论】:
-
对于 php 你会:stackoverflow.com/questions/3318132/…
标签: javascript
如何使用 JavaScript 更改 <textarea> 元素的内容?
我想把它清空。
【问题讨论】:
标签: javascript
像这样:
document.getElementById('myTextarea').value = '';
或者在 jQuery 中这样:
$('#myTextarea').val('');
你在哪里
<textarea id="myTextarea" name="something">This text gets removed</textarea>
对于所有反对者和非信徒:
value 属性:检索或设置 textArea 元素的输入字段中的文本。
value DOMString 控件中包含的原始值。
【讨论】:
如果你可以使用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 应该没问题。
【讨论】:
虽然已经给出了很多正确答案,但经典的(读取非 DOM)方法应该是这样的:
document.forms['yourform']['yourtextarea'].value = 'yourvalue';
你的文本区域在 HTML 中的什么地方嵌套在这样的表单中:
<form name="yourform">
<textarea name="yourtextarea" rows="10" cols="60"></textarea>
</form>
碰巧,这也适用于Netscape Navigator 4 和 Internet Explorer 3。而且,移动设备上的 Internet Explorer 也很重要。
【讨论】:
如果是 jQuery...
$("#myText").val('');
或
document.getElementById('myText').value = '';
【讨论】:
将 textarea 放入表单,命名它们,然后轻松使用 DOM 对象,如下所示:
<body onload="form1.box.value = 'Welcome!'">
<form name="form1">
<textarea name="box"></textarea>
</form>
</body>
【讨论】: