如何用Javascript更改<textarea>的内容

我将如何改变JavaScript的<textarea>元素的内容?

我想把它弄空。

喜欢这个:

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

或者像这样在jQuery中:

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

你在哪里

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

对于所有的下stream者和非信徒:

  • 这是MSDN的参考

    value属性:获取或设置textArea元素的input字段中的文本。

  • 这是MDN参考

    值DOMString控件中包含的原始值。

如果你可以使用jQuery,而且我强烈build议你这么做,那么你只需要做

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

否则,它依赖于浏览器。 假设你有

 var myTextArea = document.getElementById('myTextArea'); 

在大多数浏览器中你都这样做

 myTextArea.innerHTML = ''; 

但在Firefox中,你呢

 myTextArea.innerText = ''; 

找出用户正在使用的浏览器是读者的一个练习。 除非你使用jQuery,当然;)

编辑 :我拿回来。 看起来像对textarea的.innerHTML的支持已经改善。 我在Chrome,Firefox和Internet Explorer中testing过,所有这些都正确地清除了textarea。

编辑2 :我只是检查,如果你在jQuery中使用.val(''),它只是为textarea设置.value属性。 所以.value应该没问题。

虽然已经给出了许多正确的答案,但是经典(阅读非DOM)方法将是这样的:

 document.forms['yourform']['yourtextarea'].value = 'yourvalue'; 

在HTML中你的textarea嵌套在一个像这样的forms:

 <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 = ''; 

http://www.hscripts.com/tutorials/javascript/dom/textarea-events.php

把textarea放到一个表单中,命名它们,然后就可以很容易地使用dom对象,如下所示:

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