2012-07-07 13 views
8

Mam 4 formularze na stronie. Wiem, że formularze nie mogą być zagnieżdżone.jQuery Wiele formularzy Prześlij

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

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

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

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

prezentowane w tej kolejności.

Formularz 1 i Formularz 4 do tej samej strony php do przetwarzania. Formularz 1 ma 1 pole wprowadzania danych Formularz 4 ma wiele pól, pól wyboru i wybiera.

Jakie jest najlepsze podejście do formularza 1 lub formularza 4, które wysyła połączone pola obu formularzy?

Próbowałem już jQuery, działa świetnie do wprowadzania tekstu i pole wyboru, ale nie można go uruchomić z Select. Próbowano połączyć formularz 1 i formularz 4 i za pomocą css przesunąć formularz 1, ale nie można uzyskać poprawnego układu.

Czy jest coś prostszego do zrobienia?

Odpowiedz

10

To niemożliwe. Można użyć serialize() lub serializeArray() metodę pobierania danych form i dodawać je do serwera przy użyciu Ajax:

kodować zestaw elementów formie jako ciąg składania.

$('#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

Uderzyłeś mnie do tego. Niech mój sir poprowadzi sprawę. – Ruel

+1

@undefined ++ 1 bazinga! –

+0

@undefined Dzięki, faktycznie .serialize to pierwsza rzecz, którą próbowałem. Wygląda na to, że nie przechwytuje tablicy checkbox.Następnie próbowałem: $ ('# form4: input'). Not (': submit'). Clone(). Hide(). AppendTo ('# form1'); Działa to doskonale we wszystkich wejściach, ale nie w tagach