Foros del Web » Programando para Internet » Jquery »

Ejecutar POST Normal despues de Ajax en PHP

Estas en el tema de Ejecutar POST Normal despues de Ajax en PHP en el foro de Jquery en Foros del Web. Hola, Tengo una llamada $.post que me devuelve un grid con uno de los campos en modo editar y con el boton para 'guardar cambios', ...
  #1 (permalink)  
Antiguo 03/08/2013, 13:12
 
Fecha de Ingreso: junio-2012
Mensajes: 5
Antigüedad: 12 años, 5 meses
Puntos: 0
Ejecutar POST Normal despues de Ajax en PHP

Hola,
Tengo una llamada $.post que me devuelve un grid
con uno de los campos en modo editar y con el boton para 'guardar cambios',
el problema es que cuando ya la tabla esta lista en la pagina original, y le doy guardar cambios, no ejecuta el submit de ese form (que tendria que ser algo asi como agenda.php?operacion=Cambio&num_id='.$reg[$pos][0]) - simplemente no hace nada.
Estoy usando Firefox 22. Lo curioso esque si depuro el programa en Eclipse si hace el submit y al cargar la pagina manda llamar la funcion 'Cambio'.

La funcion ajax que uso es la siguiente

Código Javascript:
Ver original
  1. function fEdita(i){
  2.         $.ajax({
  3.             type: "POST",
  4.             url: "edita.php",
  5.             data: {
  6.                     pos: i                         
  7.                   },
  8.             dataType: "json",
  9.             success: function(data) {              
  10.                     $("#tabla").html("");              
  11.                     $("#tabla").append(data);
  12.                 }
  13.             }
  14.             );
  15.         }


El POST que estoy mandando en la tabla de la página Edita.php
es algo asi:

Código PHP:
Ver original
  1. $tabla .= "<form name='formCambio' method='post' action='agenda.php?operacion=Cambio&num_id=".$res[$i][0]."' onsubmit='return validaCampos(this);'>";
  2.                        $tabla .=        "<td class='nom1'><input type='text' name='eNombre' value='".$res[$i][1]."' class='eNom' maxlength='40' autofocus/></td>";
  3.                        $tabla .=        "<td class='tipo'><select name='eTipo'>";
  4.                             for ($x=0;$x<count($enum);$x++)
  5.                             {
  6.                                 if ($enum[$x]==$res[$i][2])
  7.                                 {
  8.             $tabla  .=              "<option selected='selected'>".$enum[$x]."</option>";
  9.                                 }
  10.                                 else
  11.             $tabla .=               "<option>".$enum[$x]."</option>";
  12.                            
  13.                             }
  14.             $tabla .=       "</select></td>
  15.                                          
  16.                                 <td class='numero'><input type='text' name='eNumero' maxlength='19' value='".$res[$i][3]."' /></td>
  17.                                 <td class='operacion'><button type='submit' name='bModif'>Modificar</button></td>
  18.                                 </form>
  19.                             ";

-- Al regresar el ajax deberia ejecutar esta función en Agenda.php:

Código PHP:
Ver original
  1. case "Cambio":{
  2.                         $num_id=$_GET['num_id'];
  3.                         $agenda->Cambio($num_id,$_POST['eNombre'],$_POST['eTipo'],
  4.                             $_POST['eNumero']);
  5.                         $num_id=null;
  6.                         break;}


Alguna idea?
  #2 (permalink)  
Antiguo 08/08/2013, 22:51
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 3 meses
Puntos: 23
Respuesta: Ejecutar POST Normal despues de Ajax en PHP

Hola,

Consulta, en esta parte

Código:
  function fEdita(i){
            $.ajax({
                type: "POST",
                url: "edita.php",
                data: {
                        pos: i                         
                      },
                dataType: "json",
                success: function(data) {              
                        $("#tabla").html("");              
                        $("#tabla").append(data);
                    }
                }
                );
            }
Estas diciendo que debe retornar un JSON, pero por lo que veo en tu codigo estas retornando un HTML, lo conviertes a JSON o estas retornando simplemente el HTML?

Otra cosa, en tus consultas por AJAX, es muy util agregar el error

Código:
success: function(data, textStatus, XMLHttpRequest)
{
        //bla, bla, bla, todo bien, somos happy
},
error: function(data, textStatus, XMLHttpRequest)
{
         //Noooooo, ocurrio un error, estamos tristes...
         alerta(textStatus);
}
Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)

Etiquetas: ajax-php, javascript
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 07:15.