Tengo un formulario de registro con los campos de entrada "contraseña" y "confirmar contraseña". Quiero verificar si la "contraseña de confirmación" coincide con la "contraseña" mientras el usuario la escribe y aparece el mensaje correspondiente. Así que traté de hacer esto:Comprobación de la coincidencia de contraseña al escribir
Este es el código HTML:
<div class="td">
<input type="password" id="txtNewPassword" />
</div>
<div class="td">
<input type="password" id="txtConfirmPassword" onChange="checkPasswordMatch();" />
</div>
<div class="registrationFormAlert" id="divCheckPasswordMatch">
</div>
y esta es la función checkPasswordMatch():
function checkPasswordMatch() {
var password = $("#txtNewPassword").val();
var confirmPassword = $("#txtConfirmPassword").val();
if (password != confirmPassword)
$("#divCheckPasswordMatch").html("Passwords do not match!");
else
$("#divCheckPasswordMatch").html("Passwords match.");
}
eso no validar mientras se escribe, sólo cuando el usuario deja el campo
Intenté usar onKeyUp en lugar de onChange - tampoco funcionó.
Entonces, ¿cómo se puede hacer?
¡Gracias!
Creo que es un error lógico ... KeyUp bind ur mensaje en cada evento de teclado Creo que es mejor llamar a la función en el evento de foco –
La sintaxis no válida de hecho es el problema. Como se explica en la respuesta siguiente, puede manejar todo esto en jquery, ya que lo está usando o simplemente cambiar el nombre de los eventos a onchange (onchange se activa solo cuando el campo pierde el foco, por lo que tan pronto como vaya a en otro campo o haga clic afuera, debe obtener lo que necesita) o use onkeyup como nombre de evento en lugar de onChange y onKeyUp. –
@SanjayGoswami: la secuencia de comandos no se vincula varias veces. Estos eventos intrínsecos descritos por w3c toman un valor que es un script y lo ejecuta cuando ocurre el evento para ese elemento. –