2012-07-07 21 views
8

Tengo 4 formularios en una página. Sé que los formularios no se pueden anidar.jQuery Multiple Forms Submit

<form id="form1"></form>

<form id="form2"></form>

<form id="form3"></form>

<form id="form4"></form>

presentó en ese orden.

La forma 1 y la forma 4 se publican en la misma página php para su procesamiento. La Forma 1 tiene 1 campo de entrada La Forma 4 tiene múltiples campos, casillas de verificación y selecciona.

¿Cuál es el mejor enfoque tanto para el formulario 1 como para el formulario 4 que envían los campos combinados de ambos formularios?

He intentado con jQuery, funciona muy bien para la entrada de texto y la casilla de verificación, pero no puedo hacer que funcione con Select. Intentó combinar el formulario 1 y el formulario 4 y usar CSS para reposicionar el formulario 1, pero no puede obtener el diseño correcto.

¿Hay algo más simple que hacer esto?

Respuesta

10

No es posible. También se puede usar serialize() o serializeArray() método para obtener datos de los formularios y publicarlos en el servidor utilizando Ajax:

codificar un conjunto de elementos de formulario como una cadena para su presentación.

$('#send').click(function() { 
    var firstFormData = $('form:eq(0)').serializeArray(); 
    var fourthFormData = $('form:eq(3)').serializeArray(); 
    $.ajax({ 
     url : '...', 
     type : 'post', 
     data : firstFormData.concat(fourthFormData) 
    }).done(function() { 
     // ... 
    }); 
}); 
+2

Me ganaste. Tengo mi voto favorable, señor. – Ruel

+1

@undefined ++ 1 bazinga! –

+0

@undefined Gracias, en realidad .serialize es lo primero que he intentado. No parece capturar la matriz de casillas de verificación.Entonces probé: $ ('# form4: input'). Not not (': submit'). Clone(). Hide(). AppendTo ('# form1'); Eso funciona muy bien con todas las Entradas pero no