Foros del Web » Programando para Internet » Javascript »

Confirmar si hubo cambios en el formulario

Estas en el tema de Confirmar si hubo cambios en el formulario en el foro de Javascript en Foros del Web. Hola, quería saber si alguien tiene alguna idea de cómo puedo hacer para verificar si el usuario hizo cambios (intodujo o editó datos) en un ...
  #1 (permalink)  
Antiguo 10/01/2005, 12:33
Avatar de gpardo  
Fecha de Ingreso: octubre-2004
Ubicación: Centenario, NQN
Mensajes: 40
Antigüedad: 19 años, 6 meses
Puntos: 0
Confirmar si hubo cambios en el formulario

Hola,
quería saber si alguien tiene alguna idea de cómo puedo hacer para verificar si el usuario hizo cambios (intodujo o editó datos) en un formulario.

De modo que si introdujo o editó datos, los proceso con PHP, pero si no los cambió no hago nada con ellos en el servidor, la idea mía es hacer esta comprobación del lado del cliente, no en el servidor.

Actualmente, obligo al usuario a enviar el form mediante un botón guardar, pero si olvida darle a guardar pierde los datos ingresados.

Gracias por cualquier sugerencia.

Saludos.
  #2 (permalink)  
Antiguo 10/01/2005, 13:41
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 22 años, 5 meses
Puntos: 2
Puedes poner un evento onChange en tus campos que cambie el action de tu formulario:

onChage="javascript: Formulario.action='procesar.php'"

Y en el action del formulario dejas la url a algun lado que no haga nada, o un "Volver"...
__________________
JmN
  #3 (permalink)  
Antiguo 10/01/2005, 13:50
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola que tal, te explico mas o menos para que tengas una idea ya que yo hice mas o menos lo que pides tu. y es lo siguiente:

para editar un dato de tu tabla

1 haces la consulta a tu tabla en la base de datos que te encuentres.
2 tomas los valores que necesitas.
3 guardas eso valores en variables de javascript.
4 comparas mediante un if si el usuario cambio un dato con el dato que sacaste de tu tabla.
5 guardas la informacion en una variable en javascript de lo que quieres cambiar.
6. Utilizas la funcion confirm() de javascript para desplegar el mensaje.
7. haces el submit que te envie a tu pagina de php para actualizar tu tabla.

para insertar uno nuevo es la misma funcion.

Mas tarde te puedo enviar un ejemplo para que tengas mas clara la idea que te digo.

Suerte y Salu2.

bye
__________________
Atte. Mohamed :aplauso:
  #4 (permalink)  
Antiguo 11/01/2005, 05:25
Avatar de gpardo  
Fecha de Ingreso: octubre-2004
Ubicación: Centenario, NQN
Mensajes: 40
Antigüedad: 19 años, 6 meses
Puntos: 0
Bueno, en primer lugar muchas gracias a a jmn y baklao por su ayuda.

Ahora bien, en virtud de que mi conocimiento de javascript es un tanto primitivo, me quedo con la opción de jmn que me resulta más sencilla.

Recién por la tarde trabajaré en eso, pero ¿se podrá pasar algo como esto?

onChage="javascript: Formulario.action='procesar.php?cambios=true'"

para cuando levante el form: if($_POST['cambios']) { actualizo; } else { no hago nada; }

de este modo no tendría que abrir el codigo en 2 scripts.

Muchísimas gracias por la ayuda, me ha servido de mucho.

Saludos.
  #5 (permalink)  
Antiguo 11/01/2005, 09:53
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 22 años, 5 meses
Puntos: 2
Si, eso deberia funcionar...

Pruebalo, y nos cuentas.
__________________
JmN
  #6 (permalink)  
Antiguo 11/01/2005, 12:41
Avatar de gpardo  
Fecha de Ingreso: octubre-2004
Ubicación: Centenario, NQN
Mensajes: 40
Antigüedad: 19 años, 6 meses
Puntos: 0
Bueno, como el formulario me presenta una listya de empleados (pueden ser hasta 200) y por cada uno de ellos muestra 3 o 4 campos => 4x200=800 si actualizo todos los campos, enviar el formulario 800 veces...

Entonce lo que hice fue crear un campo oculto con un valor 0 (sin cambios) y en los eventos onChange de los campos una pequeña function que cambia el valor del campo oculto a 1 (sí cambió). De este modo, cuando levanto el form tengo en el campo oculto el dato de si cambiaron (1), o no cambiaron los campos (0).

Muchas gracias y saludos.
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 08:36.