Claire TEXTAREA valeur après cliquez sur (onFocus)
Je suis actuellement à l'aide de ...
onfocus="this.value=''; return false;"
pour effacer la valeur dans mon textarea pour laisser des commentaires. Toutefois, lorsque vous cliquez sur pour saisir un commentaire et type un peu les choses, si vous cliquez à l'extérieur de la boîte, peut-être à lire autre chose sur la page, puis revenir à votre commentaire en cliquant dans la zone de texte de la boîte de nouveau, il efface votre entrée de courant.
Est-il de toute façon pour effacer la zone de texte sur la première cliquez pour effacer la valeur par défaut et pas le reste de la clique pour le reste de la page du navigateur de la session?
Vous devez vous connecter pour publier un commentaire.
C'est mieux de mettre des instructions dans une balise d'étiquette, le positionner sur la zone de texte, puis de les masquer ou l'afficher si le textarea est concentré. La raison pour cela est parce que votre textearea sera remplie avec les instructions et ceux-ci pourraient envoyé si elles sont à l'intérieur d'une forme.
Mais, à résoudre votre problème, tout ce que vous avez à faire est de:
if( this.value == this.defaultValue )
qui est une vérification pour voir si la valeur de la zone de texte est le même que lorsque la page est chargée. Si vous l'avez modifié, la zone de texte ne sera pas effacé.Je pense que c'est une bonne habitude de séparer la logique du contenu. Ainsi, l'utilisation de jQuery (nous avons tous utiliser jQuery, le faisons-nous?) vous pourriez faire:
Cela va itérer sur tous les textareas sur le site et en magasin d'une valeur booléenne à propos de leur état dans un autre liaison de données. L'événement onclick est également traitées séparément pour chaque textarea, de sorte que vous pouvez avoir plusieurs textarea /textarea clairières sur une seule page et pas besoin de Javascript éclaboussures de votre code html.
cela aidera
et onfocus attribut html
Source: http://snipplr.com/view/2206/clear-form-field-on-first-focus/
Je sais c'est tard, mais à quelqu'un d'autre d'avoir ce problème, je crois que la réponse la plus simple est
onfocus="this.value=''; this.onfocus='';"
faire exactement ce que vous voulez sans avoir à stocker/vérifier toutes les variables.
Au lieu de cela, utiliser HTML5's
placeholder
et utiliser un plugin jquery pour les anciens navigateurs.Exemple ici:
http://jsfiddle.net/dream2unite/xq2Cx/
doit être accompagné par le script suivant:
Lorsque vous entrez un e-mail de votre texte (espace réservé) vont disparaître, que lorsque vous supprimez votre e-mail le texte (espace réservé) réapparaissent.
Et enfin, évidemment un bon exemple d'un plugin jquery pour des espaces réservés est celui-ci:
http://mathiasbynens.be/demo/placeholder
Vous pouvez utiliser une page global var.
Dans un
script
élément au-dessus de l'élémentPlus tard...
Je suppose que vous avez un pré-remplie de la valeur comme "Entrez votre texte ici"?
Essayez d'ajouter ce javascript:
Ensuite, votre entrée doit être:
Entrez votre texte ici
Cela devrait vous obtenir a commencé...
Déclarer une variable
clearedOnce
dans le javascript qui est faux. Dans votre onfocus, cochez cette variable. Si elle est fausse, puis le mettre à true et précise de votre textarea. Tous les clics ne rien faire. Code :