validate - obtener valor de un input jquery
¿Cómo uso jquery para validar un campo de entrada en el cambio? (4)
Tengo un campo de input
:
<input type="text" name="notifyEmail" id="parametersEmail" value="" size=40 />
Tengo un trozo de código jquery que funciona cuando toco la pestaña o abandono el campo, que llama a una rutina de validación:
$("#parametersEmail").blur(function(event) {
validateParameterEmail();
});
Lo que me gustaría hacer es ejecutar la función validateParameterEmail()
cada vez que cambie el valor o el contenido del campo de entrada.
Entonces, también probé el controlador .change()
:
$("#parametersEmail").change(function(event) {
validateParameterEmail();
});
Pero cuando cambio el contenido de los parametersEmail
de correo parametersEmail
, este controlador no llama a la función de validación.
¿Hay otro controlador que debería estar usando? ¿O no puedo adjuntar múltiples manejadores de eventos al campo de entrada?
Pruebe $("#parametersEmail").keydown(function(event) {})
El cambio se refiere a cuando haces clic fuera / te mueves desde la entrada. Puede estar buscando onKeyUp()
.
Prueba esto:
$("#parametersEmail").bind(''blur'', function(event) {} );
y
$("#parametersEmail").bind(''keyup'', function(event) {} );
(Realidad en casi 2017-th año)
La mejor manera es establecer una vez que la devolución de llamada en todos los eventos necesarios sobre el valor de entrada cambie.
Existen:
- keyup: el usuario escribió algo en la entrada
- cambio: método conocido común sobre los cambios almacenados en la entrada
- clic: algunas entradas también toman cambios con el mouse
- pegar: ¡Sí! Ctrl + V, Crtl + Ins, RightMouseButton + Paste también pueden cambiar el valor de entrada
- cambio de propiedad: cuando algunos JS cambian nuestra entrada de cualquier manera, este evento se disparará
- entrada: evento de nuevos estándares que admite todos los navegadores modernos, úselo también
Entonces, podemos establecerlos todos una vez:
$("#parametersEmail").bind("propertychange change click keyup input paste", function(event) {
validateParameterEmail();
});
Espero que esto ayude a alguien. ;)