Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Pobieranie danych z formularza
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Mephis
Witam.

Mam pewien skrypt odpowiadający za "ajaxową" komunikację.
Zaiste wszystko w nim działa, ale nie pasuje mi pobieranie danych z pól tekstowych i innych inputów.

Przygotowanie danych do wysłania wygląda następująco:
  1. $('form').on('submit', function(e) {
  2. var form_id = $(this).attr('id');
  3.  
  4. if(form_id == 'jakis_formularz')) {
  5. var login = $("input[name=user_login]").val();
  6. var pass = $("input[name=user_password]").val();
  7. var string = '&user_login=' + login + '&user_password=' + pass
  8. } else if(form_id == 'inny_formularz')) {
  9. var name = $("input[name=name]").val();
  10. var costam = $("input[name=costam]").val();
  11. var select = $("select[name=jakis_select] option:selected").val();
  12. var string = '&name=' + name + '&costam=' + costam + '&select=' + select
  13. } else if(form_id == 'jeszcze_inny_form')) {
  14. var zaznaczenie = $("input[name=inputchecked]:checked").val();
  15. var string = '&test_zaznaczenie=' + zaznaczenie
  16. }
  17.  
  18. var request = $.ajax({
  19. url: $(this).attr('action'),
  20. type: $(this).attr('method'),
  21. datatype: 'json',
  22. data: string
  23. });
  24.  
  25. (...)
  26.  
  27. e.preventDefault();
  28. });


Jeśli chcę, aby jakiś formularz był obsługiwany w tle, muszę za każdym razem definiować jego pola w ten sposób do każdego z forma. Da się to w jakiś sposób zautomatyzować? Nie wpadłem jeszcze na żaden błyskotliwy sposób...

Chodzi mi o to, żeby skrypt sam pozbierał dane z inputów znajdujących się w danym formularzu. a następnie wszystko zgrabnie połączył w jedną całość do 'zmiennej string', aby można było to przesłać do skryptu. Rzecz jasna tak, aby poprawnie działały pola select i checkbox/radio... Rzecz ta jest mi potrzebna, gdyż jak się okazuje, w niektórych formularzach nie zawsze będzie stała ilość 'inputów', a niekiedy są one generowane, zaś takich nie mógłbym zdefiniować.
Comandeer
http://api.jquery.com/serialize/
Mephis
Dokładnie o to mi chodziło!
Dziękuje za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.