Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2013, 05:35
alyciashape
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
problema JQueryAjax para form que todavía no existe

Buenos días,

me estoy iniciando en js+ajax que siempre lo había dejado de lado y me encuentro con el siguiente problema.

Tengo una función ajax que me consulta los datos de un pedido y me los muestra en un nuevo formulario.
De ese formulario modifico datos y le doy a actualizar, la idea era que ahí mismo me diga también si se pudo actualizar los datos o no, con ajax.

El problema es que ese formulario no está oculto, sino que simplemente no existe hasta que no se ejecuta la anterior consulta ajax y creo que por eso no funciona. Simplemente me ejecuta el form como cualquier otro. Así es como utilizo los ajax desde JQuery.

Código Javascript:
Ver original
  1. <script language="javascript">
  2.         $(document).ready(function() {
  3.             $('#loading').hide();
  4.             $().ajaxStart(function() {
  5.                 $('#loading').show();
  6.                 $('#modifica').hide();
  7.             }).ajaxStop(function() {
  8.                 $('#loading').hide();
  9.                 $('#modifica').fadeIn('slow');
  10.             });
  11.             $('#formPedido, #formAlbaran, #formFactura').submit(function() {
  12.                 $.ajax({
  13.                     type: 'POST',
  14.                     url: $(this).attr('action'),
  15.                     data: $(this).serialize(),
  16.                     success: function(data) {
  17.                         $('#modifica').html(data);
  18.                     }
  19.                 })
  20.                
  21.                 return false;
  22.             });
  23.             $('#formModPedido, #formModAlbaran, #formModFactura').submit(function() {
  24.                 $.ajax({
  25.                     type: 'POST',
  26.                     url: $(this).attr('action'),
  27.                     data: $(this).serialize(),
  28.                     success: function(data) {
  29.                         $('#modificaMod').html(data);
  30.                     }
  31.                 })             
  32.                 return false;
  33.             });
  34.         })  
  35.         </script>

No se si tendrá que ver con $(document).ready. Tal vez es ese el problema? El primero es el que funciona y el de abajo es el que falla.

Tengo que añadir que la primera consulta ajax antes no me funcionaba, tuve que poner los formularios como hidden y mostrarlos según si se elije pedido, albaran o factura. Antes directamente los generaba según la opción. Es decir que tenía el problema anteriormente citado.

Pero ahora no me queda más remedio que hacerlo así. (O sin ajax claro).

Un saludo y gracias

Vuelvo a editar porque no se si se entenderá bien. Es decir, creo que el problema es que cuando se ejecuta la página el formulario no existe y el document ready de JQuery no encuentra los controles asociados. Luego ese formulario lo genero con ajax+php pero ese nuevo formulario no logro que funcione con un submit vía ajax. No se si hay alguna solución.

Última edición por alyciashape; 30/01/2013 a las 05:43