Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Error con múltiples formularios AJAX-JQUERY en un un solo documento

Estas en el tema de Error con múltiples formularios AJAX-JQUERY en un un solo documento en el foro de Jquery en Foros del Web. Hola! La idea: queremos 2 formularios en un HTML, y un archivo process.php que procese los valores de los formularios. El problema: los 2 formularios ...
  #1 (permalink)  
Antiguo 16/05/2015, 19:16
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
Pregunta Error con múltiples formularios AJAX-JQUERY en un un solo documento

Hola!

La idea: queremos 2 formularios en un HTML, y un archivo process.php que procese los valores de los formularios.

El problema: los 2 formularios funcionan bien, por separado. Es decir, siempre y cuando el código del otro esté comentado. Pero si descomento los 2, ninguno funciona. Sale parsererror.

El siguiente script aparece 2 veces donde están los formularios, uno para cada <form>; la única diferencia es el nombre del selector:
Código Javascript:
Ver original
  1. $("#forma_1").on("submit", function(e) {
  2.     e.preventDefault();
  3.     var datos = $("#forma_1").serializeArray();
  4.     $.ajax({
  5.         type: "POST",
  6.         dataType: "json",
  7.         url: "process.php",
  8.         data: datos,
  9.         beforeSend: function() {
  10.             // ...
  11.         },
  12.         success: function(response) {
  13.             // ...
  14.         },
  15.         complete: function(jqXHR, estado) {
  16.             // ...
  17.         }                  
  18.     });
  19. });

He aquí el script dentro del process.php:
Código PHP:
// Aquí van de una vez todas las variables de los inputs
$nombre   $_POST["nombre"];
$ciudad   $_POST["ciudad"];
$cliente  $_POST["cliente"];
$articulo $_POST["articulo"];
$forma    $_POST["forma"];        // Utilizo este input hidden para identificar al formulario

$conexion = new mysqli("localhost""root""""claves_foraneas2");
$query1   "INSERT...";
$query2   "INSERT...";
$query3   "SELECT...";
$query4   "SELECT...";

if (
$forma == "forma_1") {
    if ( 
$conexion->query($query1) ) {
        if ( 
$resultado $conexion->query($query3) ) {
            
// ...
        
}
    }
}

else if (
$forma == "forma_2") {
    if ( 
$conexion->query($query2) ) {
        if ( 
$resultado $conexion->query($query4) ) {
            
// ...
        
}
    }

Puesto que los formularios funcionan perfectamente por separado, no vi la necesidad de hartar la vista incluyendo el código dentro de los if. En este sentido, imagino que el problema está en lo demás. Pero todo se ve bien... ¿no?

Última edición por berkeleyPunk; 16/05/2015 a las 19:23
  #2 (permalink)  
Antiguo 17/05/2015, 17:03
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
De acuerdo Respuesta: Error con múltiples formularios AJAX-JQUERY en un un solo documento

Ok, ok. Me respondo a mí mismo.

El problema no era AJAX ni jQuery.

Me da pena, , pero la bronca estaba en que en el archivo PHP, declaraba de inicio todas las variables de los inputs, así:
Código PHP:
$nombreForma1 $_POST["nombre1"];
$nombreForma2 $_POST["nombre2"]; 
Y, claro está, si hago submit sobre el 1er formulario, va a marcar error con la variable $nombreForma2, porque no existe.

Ordinariamente PHP devuelve estos errores en pantalla, pero como estoy haciendo pruebas con AJAX-JQUERY, pues no se ven tales errores. ¿Cómo logré ver el error? Preguntando por otro lado cómo ver esta clase de errores en AJAX-JQUERY.


Hasta pronto!

Etiquetas: ajax
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 15:51.