Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] ¿Validar con onchange sin que el elemento cambie directamente por un evento humano?

Estas en el tema de ¿Validar con onchange sin que el elemento cambie directamente por un evento humano? en el foro de Javascript en Foros del Web. Hola! En esta página encontramos un jQuery que simula un input range . Deseo que cuando el único input text que hay ahí cambie de ...
  #1 (permalink)  
Antiguo 07/06/2014, 12:17
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
Pregunta ¿Validar con onchange sin que el elemento cambie directamente por un evento humano?

Hola!

En esta página encontramos un jQuery que simula un input range.

Deseo que cuando el único input text que hay ahí cambie de valor, se ejecute una función, digamos la función x().

Para esto, añado onchange="x()" al input. Lo cual funciona, , pero sólo cuando es uno mismo quien introduce un valor dentro de dicho input y luego da clic fuera. Pero no funciona si el valor cambia cuando uno desliza el input range simulado.

He aquí el código.

¿Cómo hacer para que se ejecute la función x() cuando cambia el valor del input al deslizar el input range?


Saludos!

Última edición por berkeleyPunk; 07/06/2014 a las 12:24
  #2 (permalink)  
Antiguo 07/06/2014, 12:51
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: ¿Validar con onchange sin que el elemento cambie directamente por un event

No probé, pero tal vez sea tan sencillo como:

Código Javascript:
Ver original
  1. slide: function( event, ui ) {
  2.         $( "#amount" ).val( "$" + ui.value );
  3.         x(); // Ejecutar la función aquí
  4.       }
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 07/06/2014, 13:14
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: ¿Validar con onchange sin que el elemento cambie directamente por un event

Cita:
Iniciado por Triby Ver Mensaje
No probé, pero tal vez sea tan sencillo como...

Gracias por responder, maestro Triby.

Tu propuesta funciona en parte. En efecto, se ejecuta la función x() cuando se pulsa el input range simulado. Pero la función entra en una especie de bucle infinito.

Checa aquí!
  #4 (permalink)  
Antiguo 07/06/2014, 13:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: ¿Validar con onchange sin que el elemento cambie directamente por un event

Ese bucle infinito está medio raro, porque se activa con solo mover el cursor en el marco (frame) donde aparece el slider y, de hecho, cambia valor por sí mismo.

Supongo que deberás probar en local o revisar si hay algún error con el script del slider.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 07/06/2014, 13:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: ¿Validar con onchange sin que el elemento cambie directamente por un event

Lo más curioso es que solo sucede cuando se desliza con el mouse, pero si lo haces con las flechas direccionales, solo se ejecuta una vez por cada cambio. Probablemente la sensibilidad del slider sea tanta que cuando lo deslizas, cambia de valor en más de un punto y por eso ocurre ese bug.

Se me ocurre deshabilitar la barra y con ayuda de dos botones, aumentar y disminuir el valor.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 07/06/2014, 14:14
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
De acuerdo Respuesta: ¿Validar con onchange sin que el elemento cambie directamente por un event

Cita:
Iniciado por Alexis88 Ver Mensaje
Lo más curioso es que solo sucede cuando se desliza con el mouse, pero si lo haces con las flechas direccionales, solo se ejecuta una vez...
En mi caso, aun cuando mueva el slide con las flechas, continúa saliendo el alert.

Por otro lado, llevo ya un rato tratando de hacer funcionar un input range del modo como lo he descrito. Ya me cansé, así que lo mando al diablo y voy a poner un alternativa. Se me ocurrió inicialmente poner un simple input text y que el usuario meta ahí su valor. Pero, creo que mejor voy a implementar tu propuesta, maestro Alexis88, mediante botones que sumen y/o resten el valor de dicho input.

Vientos maestro, y como siempre, eso que te distingue:
Cita:
Iniciado por Alexis88 Ver Mensaje
Se me ocurre...
, resulta ser de una infinita ayuda.

Saludos!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:23.