![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 2 Dołączył: 22.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z przekazywaniem wartości checkbox przez formularz. mam pętlę która generuje w php formularz z kilkoma plami tekstowymi i checkbox-ami : CODE for ($i=1;$i<4;$i++) { echo "<input type='text' name='tekst[]' value='tekst'>"; echo "<input type='checkbox' name='zapisz[]' value='tak'>"; } echo "<input type='submit' value='Zapisz'>"; jak zaznacze np 2 checkboxy i przekazuję dane do następnej strony to otrzymuję : CODE Array ( [id] => Array ( [0] => tekst [1] => tekst [2] => tekst [3] => tekst ) Array ( [zapisz] => Array ( [0] => tak [1] => tak ) tak jakby nie brał pod uwagę niezaznaczonych checkbox-ów (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) co zrobić aby przekazać wartość wszystkich checkbox-ów? i otrzymać tabicę : CODE Array ( [zapisz] => Array ( [0] => tak [1] => nie [2] => tak [3] => nie )
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przypuśćmy że mam checkboxa
Kod <input type="checkbox" name="test" />
Kod <input type="checkbox" name="test" checked /> to może i jest poprawna, ale chyba nie jest dobrze interpretowana w każdej przeglądarce, najlepiej więc się zabezpieczyć i zrobić coś takiego:Kod <input type="checkbox" name="test" checked="checked" /> A co do twojego problemu, to jak możesz się domyślić po przeczytaniu tego co napisałem, niezaznaczone checkboxy NIE SĄ w ogóle przekazywane. Dlatego rozwiązaniem Twojej zagadki było by ponumerowanie wszystkich checkboxów w taki sposób: Kod <input type="checkbox" name="zapisz[1]" value="tak" /> //atrybut value możesz usunąć wtedy będziesz miał domyślnie 'on' <input type="checkbox" name="zapisz[2]" value="tak" /> <input type="checkbox" name="zapisz[3]" value="tak" /> <input type="checkbox" name="zapisz[4]" value="tak" /> <input type="checkbox" name="zapisz[5]" value="tak" /> Później po wysłaniu formularza sprawdzasz które numerki z tablicy $_POST['zapisz'][x] mają wartość 'tak' lub 'on' i już wiesz które zostały zaznaczone a które nie. Można też prościej - sprawdzać tylko isset($_POST['zapisz'][x]) dla każdego z pól. x - numerek checkboxa. Ten post edytował krowal 18.10.2007, 09:53:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 02:47 |