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

IT技术 javascript
2021-01-20 06:31:11

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

我想把它清空。

5个回答

像这样:

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

或者像这样在 jQuery 中:

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

你有的地方

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

对于所有反对者和非信徒:

没想到value会起作用,因为没有。value= 在里面,但谢谢!
2021-03-18 06:31:11
在 Windows 移动设备上的 Internet Explorer 中不起作用。
2021-03-28 06:31:11
不适用于 chrome v61,该值不会影响输入框中的值
2021-03-29 06:31:11
这有点奇怪,但遗憾的是,这似乎是真的。你知道为什么@AeroWang吗?/编辑:错字
2021-04-04 06:31:11

如果您可以使用 jQuery,并且我强烈建议您使用 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 应该没问题。

.value = ''; 在 Chrome FF 和 Safari 中工作... .innerHTML 在 Chrome 中不起作用没有在其他人中测试。
2021-04-06 06:31:11
你不应该将innerHTML 和innerText 用于textareas。应该使用 value 属性。所以, $('#myTextArea').val('') 或 document.getElementById('myTextArea').value = '' 是最好的选择
2021-04-10 06:31:11

尽管已经给出了许多正确的答案,但经典的(读取非 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。

如果是 jQuery...

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

或者

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

参考:文本区域对象

将 textarea 放在一个表单中,命名它们,然后轻松使用 DOM 对象,如下所示:

<body onload="form1.box.value = 'Welcome!'">
  <form name="form1">
    <textarea name="box"></textarea>
  </form>
</body>