J'ai un script jQuery ci-dessous qui efface la valeur d'une entrée sur le focus et le remet sur le flou si l'entrée reste vide. Cela fonctionne très bien, mais voici le problème:Effacement de valeur sur plusieurs entrées?
Disons que j'ai 3 champs de saisie sur la même page. Je clique sur le premier avec la valeur "Nom", defaultValue variable devient "Nom" et le champ efface. Si je clique sur, la valeur retourne à "Nom". Maintenant, si je clique sur le deuxième champ sans actualiser la page, cela disparaît très bien, mais quand je clique à l'extérieur, au lieu d'obtenir la valeur "Initials", il obtient la valeur du premier champ.
Alors, comment puis-je obtenir la variable defaultValue pour se mettre à jour chaque fois que je clique sur un champ?
var adaugaInput = $('form#adauga input:text');
adaugaInput.focus(function() {
var defaultValue = $(this).val();
if($(this).attr("value") == defaultValue) $(this).attr("value", "");
adaugaInput.blur(function() {
if($(this).attr("value") == "") $(this).attr("value", defaultValue);
});
});
+1 C'est probablement la bonne façon de procéder. De plus, j'ai simplement * emprunté * le code d'une page sur mon propre projet. :) – GenericTypeTea
Merci, cela a fonctionné. La seule raison pour laquelle j'ai utilisé le flou interne était à cause de la variable defaultValue, que je ne pouvais pas utiliser si le flou était en dehors. – Norbert
Bon, eh bien, je suis un grand fan de ".data()" :-) – Pointy