如何更改<文本区域>的内容使用JavaScript

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

我想让它空着。

375319 次浏览

如果是jQuery..

$("#myText").val('');

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

参考:文本区域对象

像这样:

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

或者像jQuery中这样:

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

你所拥有的

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

对于所有的反对者和无信仰者:

如果,您可以使用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>