Como alterar o conteúdo de um <textarea> com JavaScript
Como eu mudaria o conteúdo de um elemento <textarea> com JavaScript?
Eu quero deixá-lo vazio.
Resposta #1
Como isto:
document.getElementById('myTextarea').value = '';
ou assim em jQuery:
$('#myTextarea').val('');
Onde você tem
<textarea id="myTextarea" name="something">This text gets removed</textarea>
Para todos os que dão votos negativos e os que não acreditam:
Aqui está a referência do MSDN
Propriedade value: Recupera ou define o texto no campo de entrada do elemento textArea.
Aqui está a referência do MDN
value DOMString O valor bruto contido no controle.
Resposta #2
Se você puder usar jQuery, e eu altamente recomendo que você faça, você simplesmente faria
$('#myTextArea').val('');
Caso contrário, depende do navegador. Supondo que você tenha
var myTextArea = document.getElementById('myTextArea');
Na maioria dos navegadores você faz
myTextArea.innerHTML = '';
Mas no Firefox, você consegue
myTextArea.innerText = '';
Descobrir qual navegador o usuário está usando fica como um exercício para o leitor. A menos que você use jQuery, é claro ;)
Editar: Eu retiro o que disse. Parece que o suporte para .innerHTML em textarea melhorou. Testei no Chrome, Firefox e Internet Explorer, todos eles limparam o textarea corretamente.
Editar 2: E eu acabei de verificar, se você usar .val('') no jQuery, ele apenas define a propriedade .value para textareas. Então .value deve estar bem.
Resposta #3
Embora muitas respostas corretas já tenham sido dadas, a abordagem clássica (ou seja, não-DOM) seria assim:
document.forms['yourform']['yourtextarea'].value = 'yourvalue';
onde no HTML seu textarea está aninhado em algum lugar dentro de um formulário assim:
<form name="yourform">
<textarea name="yourtextarea" rows="10" cols="60"></textarea>
</form>
E, como acontece, isso funcionaria também com Netscape Navigator 4 e Internet Explorer 3. E, não menos importante, Internet Explorer em dispositivos móveis.
