2010-05-06 15 views
30

dado un <textarea> con un valor por defecto de la siguiente manera:¿Cómo borrar el área de texto al hacer clic?

<textarea>Please describe why</textarea> 

¿Cómo borrar el valor por defecto cuando el usuario hace clic para editar el campo?

+4

Eso Es un muchacho excelente plan! –

+0

¿por qué recibí un signo negativo? – Karem

+1

Probablemente porque no incluyó código de ejemplo ni hizo una pregunta específica (su "pregunta" fue simplemente una declaración de su objetivo, de ahí el comentario de @ Pekka). Reescribí tu pregunta para incluir ambas. – Dolph

Respuesta

36

Tienes JavaScript:

function clearContents(element) { 
    element.value = ''; 
} 

Y su HTML:

<textarea onfocus="clearContents(this);">Please describe why</textarea> 

supongo que querrá hacer esto un poco más robusto, con el fin de no borrar la entrada del usuario cuando enfocando por segunda vez. Herearefiverelateddiscussions & articles.

y aquí está la (much better) idea que David se refiere a Dorward en los comentarios anteriores:

<label for="explanation">Please describe why</label> 
<textarea name="explanation" id="explanation"></textarea> 
+1

¡El atributo for debe coincidir con una identificación, no con un nombre! (De lo contrario, sería incompatible con los botones de opción) – Quentin

+1

+1 Buen trabajo, una gran respuesta. –

+0

@David Dorward, ¡tiene mucha razón, señor! Fijo. – Dolph

-2
<textarea onClick="javascript: this.value='';">Please describe why</textarea> 
+0

Por qué menos 1, hace lo que pidió el afiche. – user318747

+2

El voto a favor no es mío, pero esta solución borra el campo de texto * cada vez que * el usuario hace clic en él. –

5

Probar:

<input name="mytextbox" onfocus="if (this.value=='Please describe why') this.value = ''" type="text" value="Please Describe why"> 
+1

Esto no es un área de texto, entonces -1. Esto solo elimina el texto de muestra, entonces +1. –

4

Quizás quiso decir como esto para el campo de texto?

<input type="text" onblur="if(this.value == '') this.value='SEARCH';" onfocus="if(this.value == 'SEARCH') this.value='';" size="15" value="SEARCH" name="xSearch" id="xSearch"> 

¿O esto para textarea?

<textarea id="usermsg" rows="2" cols="70" onfocus="if(this.value == 'enter your text here') this.value='';" onblur="if(this.value == '') this.value='enter your text here';" >enter your text here</textarea> 
+0

¿Por qué recibí el signo menos? – tildy

+0

Mi versión está borrando solo el valor predeterminado. La solución de Dolph borra todo en el campo de texto/área de texto, no solo el valor predeterminado. – tildy

0

La mejor solución lo que sé hasta ahora:

<textarea name="message" onblur="if (this.value == '') {this.value = 'text here';}" onfocus="if (this.value == 'text here') {this.value = '';}">text here</textarea> 
35

Por qué no usar simplemente atribuyen el marcador de posición?

<textarea placeholder="Please describe why"></textarea> 

Esto colocará el texto de relleno en gris que desaparecerá automáticamente cuando un usuario haga clic en el campo de texto. Además, volverá a aparecer si pierde el foco y el área de texto está en blanco.

+5

Esto es solo HTML5. – harrymc

-1
<textarea name="post" id="post" onclick="if(this.value == 'Write Something here..............') this.value='';" onblur="if(this.value == '') this.value='Write Something here..............';" >Write Something here..............</textarea> 
+0

es la mejor manera – Heart

6

Este es el archivo javascript:

function yourFunction(){ 
    document.getElementById('yourid').value = ""; 
}; 

Este es el archivo html:

<textarea id="yourid" > 
    Your text inside the textarea 
    </textarea> 
    <button onClick="yourFunction();"> 
    Your button Name 
    </button> 
-1

jQuery atribuyen val() debe hacer el trabajo. Puede hacer $('#YourTextareaID').click(function(e) { e.target.value = ''; }).

+1

'val()' es un atributo jQuery, JS no puro es necesario mencionarlo. – william44isme

-1

Usted puede probar este código,

<textarea name="textarea" cols="70" rows="2" class="searchBox" id="textarea" onfocus="if(this.value == 'Please describe why') this.value='';" onblur="if(this.value == '') this.value='Please describe why';">Please describe why</textarea> 
Cuestiones relacionadas