Je regarde cela depuis quelques heures et je n'arrive pas vraiment à atteindre ce que je recherche. J'ai actuellement les deux entrées suivantes:Effacement des champs de saisie avec JavaScript
<input type="text" id="username" value="USERNAME" onfocus="inputFocused(this)" onblur="inputBlurred(this)" />
<input type="password" id="password" value="PASSWORD" onfocus="inputFocused(this)" onblur="inputBlurred(this)" />
Dans un premier temps, le texte des entrées est gris, et je le JavaScript fonctions suivantes onfocus et onblur:
var defaultInput = "";
function inputFocused(obj){
defaultInput = obj.value;
obj.value = "";
obj.style.color = "#000";
}
function inputBlurred(obj){
if(obj.value == ""){
obj.style.color = "#AAA";
obj.value = defaultInput;
}
}
J'essaie de trouver un moyen afin une fois que je commence à taper dans un champ, quittez le champ, puis revenez, il ne sera plus effacer l'entrée (puisqu'il contiendra alors quelque chose que l'utilisateur a tapé). J'ai pensé réaliser ceci avec une sorte de variable que je peux alterner entre 1 et 0 selon l'état, mais cela a semblé bâclé. Toute idée pour ce novice JS est grandement appréciée.
Je veux abandonner la valeur lors de la mise au point uniquement la première fois qu'elle est mise au point. Sa valeur par défaut est USERNAME et le texte est gris. Au point, je veux effacer la valeur et changer la couleur en noir pour l'entrée de l'utilisateur. –
Mise à jour de l'extrait de code. Je pense que cela fait ce que vous cherchez. – jscharf
Ma solution exactement jscharf –