Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Detectar si cambios realizados en un form

Estas en el tema de Detectar si cambios realizados en un form en el foro de Jquery en Foros del Web. Buenas, necesito hacer un registro de los cambios que se han realizado en las fichas de los productos. Y no se si jquery me podría ...
  #1 (permalink)  
Antiguo 07/06/2016, 04:13
 
Fecha de Ingreso: mayo-2006
Mensajes: 71
Antigüedad: 18 años
Puntos: 0
Detectar si cambios realizados en un form

Buenas, necesito hacer un registro de los cambios que se han realizado en las fichas de los productos. Y no se si jquery me podría ayudar en esto con onchange. Mi intención es que al enviar el formulario o durante la modificación de cualquier input se detecte si se a cambiado o no del valor de uno o mas inputs.

El resultado final seria un registro donde se mostraría que por ejemplo se cambio el precio tal día.

Saludos y gracias amigos
  #2 (permalink)  
Antiguo 07/06/2016, 06:07
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Detectar si cambios realizados en un form

si puedes combinando ajax, php, mysql, jq es lo que necesitas
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 08/06/2016, 00:18
 
Fecha de Ingreso: mayo-2006
Mensajes: 71
Antigüedad: 18 años
Puntos: 0
Respuesta: Detectar si cambios realizados en un form

Si claro, de hecho ya utilizo Mysql, Php y Jquery para validar pero necesito esa solución, de navegador entiendo, que detecta si uno o varios inputs han cambiado su valor. Para posteriormente registrar en Mysql que el input "precio" o precio y color han cambiado de valor. Supongo que esto estará relacionado con el evento .change pero realmente no se como implementarlo.
  #4 (permalink)  
Antiguo 08/06/2016, 06:25
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Detectar si cambios realizados en un form

pues podria ser algo asi, no tiene mucho misterio el asunto:

suponiendo que le asignas la id del registro a cada input desde mysql, el input quedaria asi
Código PHP:
Ver original
  1. <input type="text" name="precio" id="<?php echo $row['id']; ?>" onChange="actualiza(this.id)">

la funcion js que va a realizar la tarea
Código Javascript:
Ver original
  1. function actualiza(X){
  2.  
  3.         var valor = $("input[name=precio][id="+X+"]").val();
  4.  
  5.         $.ajax({
  6.             url:    'paginaPHP.php?tipo=actuPrecio&id='+X+'&valor='+valor,
  7.             type:   'get',
  8.        
  9.             success: function(data){
  10.                 alert(data);
  11.             }
  12.         })
  13.  
  14.     }


el PHP que va a realizar la actualizacion o la tarea que se le encomiende a traves de la variable tipo
Código PHP:
Ver original
  1. switch($_GET['tipo']){
  2.  
  3.     case 'actuPrecio':
  4.  
  5.         $a = $db->query("UPDATE productos SET precio = '$_GET[valor]' WHERE id = '$_GET[id]' ");
  6.  
  7.         if($a !== false){
  8.             echo "Registro actualizado";
  9.         }else{
  10.             echo "Falló el registro";
  11.         }
  12.  
  13.     break;
  14. }

Hay cualquier cantidad de maneras y funciones para hacer lo que requieres, pero estas van a depender de como este estruicturada su lista o campos así como la manera en como los identificas en tu documentos para diferenciarlos, adapta la idea a tu requerimiento. Saludos
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 09/06/2016, 04:03
 
Fecha de Ingreso: mayo-2006
Mensajes: 71
Antigüedad: 18 años
Puntos: 0
Respuesta: Detectar si cambios realizados en un form

Muchas gracias xfxstudios por tu aportación. Al final lo solucioné de esta manera:

Código HTML:
<form>
<input type="text" name="firstname" value="Carlos">

<input type="text" name="secondname" value="Perez">
</form>
<div></div>
 
<script>

$("input").change(function(){

  rec = $(this).attr("name");
    $("form").append("<input type=\"hidden\" value=\""+rec+"\">");
    
});

</script> 

Cuando hay algún cambio en algún input se recoge el nombre del input que ha cambiado de valor y se guarda en un input hidden. Cuando se termina de editar la ficha se envía a un archivo php que procesa todo.

Cumple con el objetivo pero me gusta que los demás que saben mas que yo inspeccionen mi código, por eso del rendimiento y la lógica.

Gracias de nuevo
  #6 (permalink)  
Antiguo 09/06/2016, 04:04
 
Fecha de Ingreso: mayo-2006
Mensajes: 71
Antigüedad: 18 años
Puntos: 0
Respuesta: Detectar si cambios realizados en un form

Muchas gracias xfxstudios por tu aportación. Al final lo solucioné de esta manera:

Código HTML:
<form>
<input type="text" name="firstname" value="Carlos">

<input type="text" name="secondname" value="Perez">
</form>
<div></div>
 
<script>

$("input").change(function(){

  rec = $(this).attr("name");
    $("form").append("<input type=\"hidden\" value=\""+rec+"\">");
    
});

</script> 

Cuando hay algún cambio en algún input se recoge el nombre del input que ha cambiado de valor y se guarda en un input hidden. Cuando se termina de editar la ficha se envía a un archivo php que procesa todo.

Cumple con el objetivo pero me gusta que los demás que saben mas que yo inspeccionen mi código, por eso del rendimiento y la lógica.

Gracias de nuevo

Etiquetas: cambios, form
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:30.