Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] - przekazanie parametrów oddzielonych przecinkiem
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
wiciu010
Cześć,

Mam formularz, który przekazuje parametry metodą GET. W formularzu mam checkboxy np:


  1. <input type="checkbox" name="id" value="1" />
  2. <input type="checkbox" name="id" value="2" />
  3. <input type="checkbox" name="id" value="3" />



Chcę do adresu dokleić parametr
  1. ?id=1,2,3



Jak w JavaScript skleić za pomocą przecinka wartości z pola o tej samej nazwie?

ilość oraz nazwa pól jest dynamiczna, więc na sztywno nazw nie mogę wpisać.

Próbowałem z serializeArray() oraz serialize(), ale nie działa.
Aqu
W ten sposób pobierasz wszystkie inputy o tym name:
  1. var checkboxs = document.querySelectorAll('input[name="id"]');


ale jeśli nazwy są dynamiczne, to możesz wszystkie checkboxy pobrać:
  1. var checkboxs = document.querySelectorAll('input[type="checkbox"]');


a dalej jakaś pętla
trueblue
Cytat(wiciu010 @ 15.04.2015, 00:37:05 ) *
Próbowałem z serializeArray() oraz serialize(), ale nie działa.

Dlaczego twierdzisz, że serialize nie działa?

http://jsfiddle.net/pw41qesr/
wiciu010
Cytat(Aqu @ 15.04.2015, 01:17:00 ) *
W ten sposób pobierasz wszystkie inputy o tym name:
  1. var checkboxs = document.querySelectorAll('input[name="id"]');


ale jeśli nazwy są dynamiczne, to możesz wszystkie checkboxy pobrać:
  1. var checkboxs = document.querySelectorAll('input[type="checkbox"]');


a dalej jakaś pętla


No właśnie o tą pętle chodzi. Nie wiem jak ją napisać.

Cytat(trueblue @ 15.04.2015, 08:18:35 ) *
Dlaczego twierdzisz, że serialize nie działa?

http://jsfiddle.net/pw41qesr/


Nie spełnia mojego wymagania. Serialize tworzy parametr w postaci:

  1. ?id=1&id=2&id=3


Obsługując to w PHP mam tylko dostęp do ostatniego parametru id (równego 3), ponieważ pozostałe o tej samej nazwie są usuwane. Gdyby nie były usuwan to nie byłoby problemu. Chyba, że można jakoś przeciwstawić się automatycznemu usuwaniu?
trueblue
Cytat(wiciu010 @ 15.04.2015, 08:46:34 ) *
Nie spełnia mojego wymagania. Serialize tworzy parametr w postaci:

  1. ?id=1&id=2&id=3


Obsługując to w PHP mam tylko dostęp do ostatniego parametru id (równego 3), ponieważ pozostałe o tej samej nazwie są usuwane. Gdyby nie były usuwan to nie byłoby problemu. Chyba, że można jakoś przeciwstawić się automatycznemu usuwaniu?


A czy przyjrzałeś się dobrze przykładowi, który podałem?
wiciu010
Cytat(trueblue @ 15.04.2015, 09:19:58 ) *
A czy przyjrzałeś się dobrze przykładowi, który podałem?


Tak. Zwraca mi coś takiego:

  1. id%5B%5D=1&id%5B%5D=2
trueblue
Czyli powinieneś zauważyć różnicę:
id[]=1&id[]=2 (co odbierzesz w php jako tablicę)
a nie:
id=1&id=2
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.