Je veux valider une boîte d'entrée lorsque l'utilisateur passe sur un autre champ. J'ai le code suivant qui fonctionne bien.
p>
<p>Enter only 'yes' in this field:</p> <input onblur='validate(this);' />
3 Réponses :
Selon W3Schools:
Remarque: strong> La boîte d'alerte prend la mise au point de la fenêtre actuelle et oblige le navigateur à lire le message. N'utilisez pas cette méthode, car elle empêche l'utilisateur d'accéder à d'autres parties de la page jusqu'à la fermeture de la boîte. P> blockQuote> lien: https://www.w3schools.com/jsref/met_win_alert .asp p>
ALERTE prend la mise au point de l'entrée créant une boucle sans fin. La solution consiste à afficher le message d'une manière différente. Par exemple, dans un élément de plage: p>
xxx pré> p>
Mais mon alerte code> est avant i> appelant la méthode code> mise au point i>.
@Old geezer. L'ordre n'a pas d'importance, car JavaScript est mono-thread et les événements sont traités tout après votre code. Medium.com/front-end-weekly/...
@ClaudiAchersin j'ai ajouté un console.log code> Ligne après l'alerte code> et il n'y avait pas de sortie de console tant que la boîte de dialogue
alerte code> est fermée.
@Old Geezer Oui, bien sûr, la console.log se produit après la fermeture de l'alerte (l'alerte est synchronisée). Est-ce que l'Onblur n'est exécuté qu'après la terminaison de l'exécution de la fonction de validation.
Ce que vous faites est de courir constamment surblur fonction, vous l'exécutez à nouveau et à nouveau et sur chaque itération, cela vous donne une alerte. p>
Et vous le faites dans une boucle pour ainsi dire. p>
Au lieu de vous concentrer sur l'entrée, vous pouvez simplement lui donner la couleur de la bordure. De cette façon, votre Onblur va tirer une seule fois. P>
Utilisation de alerte () code> supprime la mise au point de l'élément actif qui provoque "code> flou" / code> pour déclencher. Ainsi, selon votre script,
flou code> déclenche continuellement. Utilisez
console.log () code> qui vous aide à comprendre à ce sujet beaucoup mieux. p>
console.log code> ne déclencherait pas
flou code> peut ne pas aider à comprendre quelque chose.
Afin de vérifier si flou code> incendie en continu, connectez-vous les résultats dans la console. Vous allez apprendre à ce que ce soit à la suite.
Vous perdez la concentration lorsque
alerte () code> fin, vous pouvez simplement vérifier cela utiliser votre code actuel en question.
BTW, c'est vraiment ennuyeux, veuillez utiliser une autre méthode (comme la validation de formulaire) pour le faire. (Utilisateur: Permettez-moi de passer à autre chose, je vais réparer cela plus tard!)
Je ne suis pas sûr de la spécification pour
alerte () code>, cependant. Donc, je ne posterais pas comme réponse.