événement asp.net onkeyup pour la zone de texte

J’ai un problème avec l’événement onkeyup avec textbox. Ma fonction est de vérifier la force du mot de passe de la zone de texte du mot de passe. Ainsi, lorsqu’un utilisateur entre son mot de passe, il appelle la fonction de vérification de la force du mot de passe et indique dans une étiquette si son mot de passe est très faible / faible / moyen / fort. En outre, l’arrière-plan de la zone de texte affichera les couleurs en fonction de la force du mot de passe. Cependant, lorsque je tape dans la zone de texte du mot de passe, l’étiquette ne montre rien et la zone de texte ne change pas de couleur.

  function checkPasswordStrength() { var passwordTextbox = document.getElementById("tb_password"); var password = passwordTextbox.value; var specialCharacters = "!@#$%^&*_+"; var passwordScore = 0; for (var i = 0; i  -1)) { passwordScore += 20; } } if (/[az]/.test(password)) { passwordScore += 20; } if (/[AZ]/.test(password)) { passwordScore += 20; } if (password.length >= 8) { passwordScore += 20; } if (/[\d]/.test(password)) { passwordScore += 20; } var strength = ""; var backgroundColor = ""; if (passwordScore >= 100) { strength = "Strong" backgroundColor = "green"; } else if (passwordScore >= 80) { strength = "Medium" backgroundColor = "yellow"; } else if (passwordScore >= 60) { strength = "Weak" backgroundColor = "red"; } else { strength = "Very Weak" backgroundColor = "maroon"; } document.getElementById("lbl_passwordStrength").innerHTML = strength; passwordTextbox.style.color = "white"; passwordTextbox.style.backgroundColor = backgroundColor; }  

Chaque contrôle inclus dans une page Web ASP.NET doit contenir un identificateur unique (ID). Pour conserver cette unicité, ASP.Net modifie l’ID du contrôle lorsque la page est rendue au format HTML.

Ici, si le contrôle ci-dessous est à l’intérieur de l’ID est susceptible de changer en ctl00$ctl00$ContentPlaceHolder$tb_password par exemple.

  

Pour surmonter ce que vous pouvez faire, utilisez le mode client dans le balisage ou utilisez ClientID en javascript.

Méthode 1:

  

Méthode 2:

 var passwordTextbox = document.getElementById("<%=tb_password.ClientID%>"); . . . . document.getElementById("<%=lbl_passwordStrength.ClientID%>").innerHTML = strength; passwordTextbox.style.color = "white"; passwordTextbox.style.backgroundColor = backgroundColor;