JQuery - Problema con formulario dinámico jquery + ajax (indi

   
Vista:

Problema con formulario dinámico jquery + ajax (indi

Publicado por Iván (7 intervenciones) el 16/07/2016 16:09:54
Hola a todos!!

Estoy haciendo "mi primer programa" con jquery y ajax y me he encontrado con el siguiente problema del cual no he podido encontrar la causa.

Veréis, estoy insertando elementos en un formulario dinámico (select y text) de esta forma


jQuery('<select/>',
{
name: "selector_de_aceites[]",
id: "selector_de_aceites[]",
class: "formulario_aceites__input"

}).appendTo('#formulario_aceites');


var s = document.getElementsByName("selector_de_aceites[]")[count_aceites];
selector_de_aceites(s, list);


jQuery('<INPUT/>',
{
type: "text",
name: "cantidad_de_aceite[]",
id: "cantidad_de_aceite[]",
class: "formulario_aceites__input"

}).appendTo('#formulario_aceites');

Esto funciona correctamente (en apariencia)..

Luego estoy enviado los datos del formulario a un archivo (calculos.php) de esta otra forma...



$.post("./php/calculos.php", $("#formulario").serialize() + $("#formulario_aceites").serialize(), function(respuesta)
{

/*Esto es para comprobar los nombres de los inputs y aparentemente están bien*/
var form = document.getElementById("formulario_aceites");
for(i=0;i<form.elements.length;i++) console.log(form.elements[i].name);

/*AQUÍ ESTÁ EL PROBLEMA*/
console.log(respuesta);

});

Lo que está pasando es que el primer select insertado es como si no existiera.. y sin invierto el orden de inserción, es decir que primero inserto los text y luego los select, pues entonces es como si el primer text que inserte no existiera...


En el archivo "calculos.php" solo tengo escrito esto...


for ($i=0; $i < count($_POST["cantidad_de_aceite"]); $i++)
{
echo $_POST["selector_de_aceites"][$i], "=", $_POST["cantidad_de_aceite"][$i];
}

Como el tamaño de ambos arrays no son iguales debido a este "error" (o lo que sea) me está dando el siguiente error...

Notice: Undefined offset: .....


¿Alguien sabe por qué está pasando esto?

Mucha gracias de antemano!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con formulario dinámico jquery + ajax (indi

Publicado por Iván (7 intervenciones) el 17/07/2016 00:18:32
Hola a todos!!

Acabo de ver cuál era el problema!! El problema era que estaba intentando enviar los datos de dos formularios al mismo tiempo
de esta forma (y lo raro es que casi funcionaba).


$.post("./php/calculos.php", $("#formulario").serialize() + $("#formulario_aceites").serialize(), function(respuesta)
{

}


Cuando lo hago así todo funciona correctamente

$.post("./php/calculos.php", $("#formulario_aceites").serialize(), function(respuesta)
{

}


El problema ahora es que necesito enviar los datos de los dos formularios para poder hacer los cálculos y no sé cómo hacerlo.... no sé si abrir otro hilo para hacer esta pregunta o se podría resolver aquí mismo... ¿Que opinais?

Gracias a todos por su ayuda!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con formulario dinámico jquery + ajax (SOLUCIONADO)

Publicado por Iván (7 intervenciones) el 17/07/2016 01:44:49
Hola a todos otra vez!!

Al final he logrado solucionar el problema...lo unico que habia que hacer era añadir un AND para concatenar los datos... Es decir así...



$.post("./php/calculos.php", $("#formulario").serialize() + "&" + $("#formulario_aceites").serialize(), function(respuesta)
{

}
Gracias a esas 42 personas que se han molestado en leer mi hilo en el dia de hoy.. y ojalá a los que queden por leer les sea de algo de utilidad lo que hay aquí escrito... ;-)

Un cordial saludo para todos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Problema con formulario dinámico jquery + ajax (SOLUCIONADO)

Publicado por xve (557 intervenciones) el 17/07/2016 08:43:11
Gracias por compartirlo Iván!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar