2009-10-29 71 views

Respuesta

167

De esta manera:

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

o como esto en jQuery:

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

Cuando usted tiene

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

Para todos los downvoters y no creyentes:

+1

¡Textara no tiene propiedades de valor! –

+0

No pensé que el valor funcionaría porque no hay. valor = en él, pero gracias! – ian

+14

@Petr Peller sí lo hace ... – Greg

13

Si puede utilizar jQuery, y recomiendo encarecidamente que hacer, sólo tendría que hacer

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

De lo contrario, depende del navegador. Asumiendo que tiene

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

En la mayoría de los navegadores que haces

myTextArea.innerHTML = ''; 

Pero en Firefox, lo hace

myTextArea.innerText = ''; 

Averiguar qué navegador está utilizando el usuario se deja como ejercicio para el lector. A menos que use jQuery, por supuesto;)

Editar: Retiro eso. Parece que ha mejorado la compatibilidad con .innerHTML en textarea. Probé en Chrome, Firefox e Internet Explorer, todos ellos borraron el área de texto correctamente.

Editar 2: Y acabo de comprobar, si utiliza .val ('') en jQuery, simplemente establece la propiedad .value para textarea. Entonces .value debería estar bien.

+2

.value = ''; funciona en Chrome FF y Safari ... .innerHTML no funciona en Chrome no lo hizo en otros. – ian

+0

No debe usar innerHTML y innerText para áreas de texto. El atributo de valor debe ser utilizado. Entonces, $ ('# myTextArea'). Val ('') o document.getElementById ('myTextArea'). Value = '' es la mejor opción – Parth

7

Aunque ya se han dado muchas respuestas correctas, la clásica (lectura no DOM) enfoque sería así:

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

donde en el HTML de su área de texto está anidado en algún lugar de un formulario como el siguiente:

<form name="yourform"> 
    <textarea name="yourtextarea" rows="10" cols="60"></textarea> 
</form> 

Y da la casualidad, eso funcionaría con Netscape Navigator 4 e Internet Explorer 3 también. Y, no sin importancia, Internet Explorer en dispositivos móviles.

0

poner el área de texto a un formulario, indicando sus nombres, y sólo tiene que utilizar el DOM objetos con facilidad, como esto:

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