Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] - przekazanie parametrów oddzielonych przecinkiem
wiciu010
post 14.04.2015, 23:37:05
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Aqu
post 15.04.2015, 00:17:00
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
trueblue
post 15.04.2015, 07:18:35
Post #3





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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/


--------------------
Go to the top of the page
+Quote Post
wiciu010
post 15.04.2015, 07:46:34
Post #4





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
trueblue
post 15.04.2015, 08:19:58
Post #5





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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?


--------------------
Go to the top of the page
+Quote Post
wiciu010
post 16.04.2015, 08:23:24
Post #6





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
trueblue
post 18.04.2015, 18:49:35
Post #7





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Czyli powinieneś zauważyć różnicę:
id[]=1&id[]=2 (co odbierzesz w php jako tablicę)
a nie:
id=1&id=2


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:15