Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak przesłać wszystie pola SELECT
Forum PHP.pl > Forum > PHP
lichu10
Witam, potrzebuję przesłać wszystkie pola listy SELECT wraz z wartościami (głównie o nie oczywiście chodzi). Czy da się to zrobić... i jak?!
kosmowariat
jak dla mnie akcja troche bez sensu bo wtedy nie mógłbyś określić wyboru użytkownika... ogólnie więc z selecta nie da się wysłać listy możliwych wartości. możesz zostawić to jako listę + dodać odpowidnie pola hidden i przesłać np jako tablicę
  1. <select name = jakaś nazwa>
  2. <option value="wartosc selecta 1">lalala1</option>
  3. <option value="wartosc selecta 2">lalala2</option>
  4.  
  5. <input type = hidden name = slectValues[] value = "wartość selecta 1" />
  6. <input type = hidden name = slectValues[] value = "wartość selecta 2" />
skowron-line
...albo mozesz sobie wrzucic to do jednego pola oddzielic np przecinkami a potem sobie prztworzyc ta zmienna bo po co sie babrac z wieloma zmiennymi jak mozna z jedna:)
kosmowariat
@skowron
takie coś jest raczej mało czytelne, poza tym jeśli chce wysłać te dane to w jakimś celu. Łatwiej jest operować na tablicy (oszczędzamy na przeywarzaniu ciągu), poza tym istnieje zagrożenie że znak rozdzielaący znajdzie się w którejś wartości (co prawda baaardzo małe ale zawsze) :-)
Cienki1980
Przesłać wszystkie wartości z selecta można zrobić w bardzo efektywny sposób wykorzystując multiselecta
  1. <select id="lista" multiple size="1" name="lista[]">
  2. <option value="1">1</option>
  3. <option value="2">2</option>
  4. <option value="3">3</option>
  5. <option value="4">4</option>
  6. <option value="5">5</option>
  7. <option value="6">6</option>
  8. <option value="7">7</option>
  9. <option value="8">8</option>
  10. <option value="9">9</option>
  11. </select>


po czym onSubmit formy wykonujesz prostą funkcję JS która zaznaczy wszystkie opcje w tym selecie. Funkcja może wyglądać np tak:
  1. function selectAllOptions(id) {
  2.  
  3. var obj=document.getElementById(id);
  4.  
  5. for (var i=0; i<obj.options.length; i++) {
  6. obj.options[i].selected = true;
  7. }
  8. }
kosmowariat
@Cienki1980 - to rozwiązanie ma taką wadę że nie możesz określić wyboru użytkownika
lichu10
Dzięki wszystkim za pomysły ale tutaj:
http://forum.webhelp.pl/viewtopic.php?p=803712#803712

dostałem już odpowiedź. Przesłane zostało wszystko za pomocą funkcji JS.

Jeszcze raz dziękuję.

offtopic.gif
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.