[ onFocus ] vider un textarea

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [ onFocus ] vider un textarea

par starkeus » 26 mai 2006, 10:52

Mais pourquoi du innerHTML alors qu'on travail sur un textarea ??!!
Bah moi j'ai eu des soucis avec certaines versions d'IE au boulot donc voilà la raison de l'innerHTML.

par Ryle » 25 mai 2006, 11:23

Mais pourquoi du innerHTML alors qu'on travail sur un textarea ??!! le problème de ton code initiale, c'est que dans ta fonction, la référence à this est inconnue, il faut lui passer le champ en argument :

Code : Tout sélectionner

<script language="javascript"> function check_value(field) { if(field.value == 'Votre commentaire ici...\nTout commentaire jugé désobligeant (flamming, attaque personnelle) ou rempli de fautes d\'orthographe (SMS-style) sera supprimé.') field.value = ''; } </script> <textarea name="comment" cols="65" rows="6" class="input-textarea" onFocus="check_value(this)">Votre commentaire ici... Tout commentaire jugé désobligeant (flamming, attaque personnelle) ou rempli de fautes d'orthographe (SMS-style) sera supprimé.</textarea>
Attention également, si tu met un retour à la ligne après le tag <textarea> et avant ta chaine, elles ne seront pas identiques lors de la comparaison... Le mieux reste de mettre ton texte dans une variable javascript et de l'utiliser aux deux endroits pour être sur qu'elles seront les mêmes

par starkeus » 24 mai 2006, 17:37

Je crois que cela ne marche pas à cause des retours chariots justement, comment corriger ça ? je voudrais garder le saut de ligne à l'intérieur du textarea. comment indiquer le saut de ligne dans le script JS ?

Code : Tout sélectionner

function check_value(object) { if(object.innerHTML == 'Votre commentaire ici...\nTout commentaire jugé désobligeant (flamming, attaque personnelle) ou rempli de fautes d\'orthographe (SMS-style) sera supprimé.') object.innerHTML = ''; } <textarea name="comment" cols="65" rows="6" class="input-textarea" onFocus="check_value(this)">Votre commentaire ici... Tout commentaire jugé désobligeant (flamming, attaque personnelle) ou rempli de fautes d'orthographe (SMS-style) sera supprimé.</textarea>
Chez moi cela fonctionne :)

par VaN » 24 mai 2006, 17:00

ça n'a pas l'air de marcher.
Oui je trouve cela nécessaire, de façon à ce que quelqu'un qui a commencé à écrire un commentaire de plusieurs lignes ne doivent pas les retaper, si jamais il reclic par erreur dans la textarea.

Je crois que cela ne marche pas à cause des retours chariots justement, comment corriger ça ? je voudrais garder le saut de ligne à l'intérieur du textarea. comment indiquer le saut de ligne dans le script JS ?

Re: [ onFocus ] vider un textarea

par starkeus » 24 mai 2006, 16:24

Code : Tout sélectionner

function check_value(object) { if(object.innerHTML == 'Votre commentaire ici... Tout commentaire jugé désobligeant (flamming, attaque personnelle) ou rempli de fautes d\'orthographe (SMS-style) sera supprimé.') object.innerHTML = ''; } <textarea name="comment" cols="65" rows="6" class="input-textarea" onFocus="check_value(this)">Votre commentaire ici... Tout commentaire jugé désobligeant (flamming, attaque personnelle) ou rempli de fautes d'orthographe (SMS-style) sera supprimé.</textarea>
Mais bon est-ce bien nécessaire? et attention aux retours chariots ;)

[ onFocus ] vider un textarea

par VaN » 24 mai 2006, 15:50

Bonjour,
j'essaye vainement d'ajouter une petite fonctionnalité à un formulaire.

dans une textarea qui possède une value par défaut et qui sert à ajouter un commentaire, j'aimerais :
- que lorsque que l'utilisateur clic dans la textarea, le texte par défaut s'efface (ça ça marchait avant que je commence mes tests, avec onFocus="this.value=''")
- qu'un script vérifie que la valeur du textarea est bien la valeur par défaut : si c'est la valeur par défaut, elle s'efface, si c'est une autre valeur, elle ne s'efface, car il s'agit d'un début de commentaire tapé.

Voici le script avec lequel je me bats, pourriez-vous m'aider à le faire fonctionner ?

Code : Tout sélectionner

<script language="javascript"> function check_value() { if(this.value != 'Votre commentaire ici... Tout commentaire jugé désobligeant (flamming, attaque personnelle) ou rempli de fautes d\'orthographe (SMS-style) sera supprimé.') this.value = ''; } </script> <textarea name="comment" cols="65" rows="6" class="input-textarea" onFocus="check_value()"> Votre commentaire ici... Tout commentaire jugé désobligeant (flamming, attaque personnelle) ou rempli de fautes d'orthographe (SMS-style) sera supprimé.</textarea>