如何使用JavaScript更改<textarea>元素的内容?
<textarea>
我想让它空着。
如果是jQuery..
$("#myText").val('');
或
document.getElementById('myText').value = '';
参考:文本区域对象
像这样:
document.getElementById('myTextarea').value = '';
或者像jQuery中这样:
$('#myTextarea').val('');
你所拥有的
<textarea id="myTextarea" name="something">This text gets removed</textarea>
对于所有的反对者和无信仰者:
下面是MSDN参考
Value属性:检索或设置TextArea元素的输入字段中的文本。
这是MDN参考
值DOMString控件中包含的原始值。
如果,您可以使用jQuery,我强烈建议您这样做,您可以简单地这样做
$('#myTextArea').val('');
否则,它依赖于浏览器。假设你有
var myTextArea = document.getElementById('myTextArea');
在大多数浏览器中,您可以
myTextArea.innerHTML = '';
但在火狐中,你可以做到。
myTextArea.innerText = '';
弄清楚用户使用的是什么浏览器是留给读者的练习。当然,除非使用jQuery;)
__ABC 0:我收回那句话。看来TextArea上对.innerHTML的支持有所改进。我在Chrome、Firefox和IE浏览器中进行了测试,它们都正确清除了文本区域。
编辑2:我刚刚检查过,如果您在jQuery中使用.Val(' '),它只是为TextArea设置.value属性。所以.值应该很好。
尽管已经给出了许多正确答案,但经典的(阅读非DOM)方法是这样的:
document.forms['yourform']['yourtextarea'].value = 'yourvalue';
在HTML中,您的文本区域嵌套在表单中的某个位置,如下所示:
<form name="yourform"> <textarea name="yourtextarea" rows="10" cols="60"></textarea> </form>
碰巧的是,这也适用于网景导航器 4和Internet Explorer 3。以及移动设备上的IE浏览器。
将TextArea放到表单中,对它们进行命名,然后轻松地使用DOM对象,如下所示:
<body onload="form1.box.value = 'Welcome!'"> <form name="form1"> <textarea name="box"></textarea> </form> </body>
下面是一个简单的普通JS示例,它在单击按钮时更改TextArea内容。
const button = document.querySelector("#button"); const messageBox = document.querySelector("#message"); button.addEventListener("click", ()=>{ messageBox.innerText = "Please type your message here." });
<h1>TextArea Examplw with JavaScript</h1> <textarea id="message"></textarea> <button id="button">Click to Change</button>