Foros del Web » Programando para Internet » Javascript »

Campo que valida con ONCHANGE, si no es válido que vuelva al valor que tenía antes.

Estas en el tema de Campo que valida con ONCHANGE, si no es válido que vuelva al valor que tenía antes. en el foro de Javascript en Foros del Web. Hola. Tengo un formulario, con una serie de campos. Algunos, que tienen valores decimales, le aplico una validación en el evento ONCHANGE. Esto esta funcionando ...
  #1 (permalink)  
Antiguo 10/08/2012, 06:32
af1
 
Fecha de Ingreso: junio-2010
Mensajes: 87
Antigüedad: 13 años, 9 meses
Puntos: 2
Campo que valida con ONCHANGE, si no es válido que vuelva al valor que tenía antes.

Hola.

Tengo un formulario, con una serie de campos. Algunos, que tienen valores decimales, le aplico una validación en el evento ONCHANGE. Esto esta funcionando bien, se realiza la validación. Cuando el número no es decimal, se informa con un aviso por pantalla (alert) al usuario.

Ahora, mi problema es que, en caso de que el nuevo valor del campo no sea decimal, después del aviso, en el campo queda el nuevo valor ingresado, el cual es incorrecto.

Lo que yo quiero hacer es que, además del aviso que el nuevo valor del campo es incorrecto, dicho campo vuelva a tener el valor que tenía antes de ser modificado. Como una especie de "rollback".

Mirando por internet, encontré el "UNDO", pero no lo pude hacer funcionar. Acá el link que encontré: http://www.thomasfrank.se/form_state.html ...

Si necesitan ver el código javascript avisen y lo pego. No lo puse porque por ahí la solución a esto es rápida y directa..

Saludos, y gracias!!!
  #2 (permalink)  
Antiguo 10/08/2012, 06:41
Avatar de jlct  
Fecha de Ingreso: abril-2012
Ubicación: Venezuela
Mensajes: 148
Antigüedad: 12 años
Puntos: 19
Respuesta: Campo que valida con ONCHANGE, si no es válido que vuelva al valor que ten

Dejame ver si te entiendo.. la validación se activa solo cuando vas a modificar el valor que tenia por uno nuevo no? y xq no guardas dentro de la funcion que llamas el nuevo valor en una variable temporal, si pasa por el alert donde determinas que es incorrecto el campo seguira teniendo como valor el que tenia, y si es correcto le asignas el valor que esta en la variable temporal.. (el nuevo valor).

Espero te sirva la idea.
  #3 (permalink)  
Antiguo 10/08/2012, 08:16
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Campo que valida con ONCHANGE, si no es válido que vuelva al valor que ten

no pintar caracter no valido en un input

(Adentro hay un enlace con una colección de ejemplos.)
  #4 (permalink)  
Antiguo 13/08/2012, 10:00
af1
 
Fecha de Ingreso: junio-2010
Mensajes: 87
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Campo que valida con ONCHANGE, si no es válido que vuelva al valor que ten

Gracias gente. Lo solucioné de la siguiente manera:

Primero agrego un input de tipo hidden a la página:

print "<input type='hidden' id='guardar_valor' value=''/>";


Después, cada vez que se hace foco en un campo, utilizo una funcion javascript para setear el valor de dicho campo en el hidden:

var campo_oculto=document.getElementById('guardar_valo r');
campo_oculto.value=window.event.srcElement.value;


Si después de hacer foco, el usuario cambia el valor del campo, y se evalúa incorrecto, con otra función hago lo contrario para volver atras:

var campo_oculto=document.getElementById('guardar_valo r');
window.event.srcElement.value=campo_oculto.value;

Etiquetas: formulario, funcion, html, onchange, validar, campos
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 03:56.