2010-09-03 25 views
0

pour faciliter l'édition de ces champs, je serais ravi que leur contenu soit effacé quand on clique dessus. De plus, la valeur par défaut (présentée initialement) doit être soumise si elle n'a pas changé, cela signifie que je ne recherche (probablement) pas d'espace réservé (n HTML 5) qui sera effacé automatiquement, mais de texte réel. Serait encore mieux si la valeur par défaut reviendrait si le champ est désélectionné et laissé vide.Effacement du contenu d'une entrée/zone de texte lorsqu'on clique dessus?

Des suggestions? Exemple: l'entrée "votre e-mail" en haut de http://www.makeuseof.com/.

Répondre

2
<input type="text" value="Something" onfocus="if (this.value == this.defaultValue) this.value='';" onblur="if (this.value == '') this.value = this.defaultValue;"> 

Si vous voulez l'utiliser dans plus d'un élément, vous devez extraire les gestionnaires d'événements à une fonction/script externe.

EDIT:

Lorsque vous utilisez une fonction externe, vous devrez fournir une référence à l'élément d'entrée en tant que paramètre à la fonction.

<script type="text/javascript"> 
    function focused(element){if (element.value == element.defaultValue) element.value='';} 
    function blurred(element){if (element.value == '') element.value = element.defaultValue;} 
</script> 

<input type="text" value="Default Value" onfocus="focused(this)" onblur="blurred(this)"> 

NB: En JavaScript, les fonctions commencent par une lettre minuscule.

+0

Merci beaucoup pour votre réponse rapide, pourriez-vous expliquer "extraire les gestionnaires d'événements à une fonction externe" dans un peu plus de détails, je n'ai jamais utilisé javascript auparavant (en essayant d'apprendre PHP). Je pense que j'ai besoin d'une fonction plutôt que d'un script car je ne l'utiliserai que sur une seule page. Puis j'appelle la fonction quand l'entrée/textarea est cliquée, droite? Encore merci. EDIT: Fonctionne comme un charme d'ailleurs! – Chris

+0

Ça marche, c'est génial :-). – Chris

0

Essayez avec onfocus:

<input type="text" value="Default text" onfocus="this.value = ''"> 
+0

Oui, je l'avais déjà essayé, mais il ne restait pas la valeur par défaut si elle était vide :-). Merci quand même! – Chris