Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 28. 9. 2009, 22:30:55
Zdravím Vás. Jak mám ošetřit checkboxy, abych měl strnulý formulář ? Po odeslání to chci projít cyklem foreach(), ale zatím mi to nefunguje správně. Rád bych pokud možno zachoval kód checkboxového inputu včetně konstrukce se $status='active' - vím že se to dá dělat i jinak, ale nechtěl bych už tohle předělávat, vybral jsem si toto řešení a vyhovuje mi.
Zatím jsem zkoušel toto, ale není to dobře (zatrhnou se úplně všechny checkboxy): foreach ($_POST["fws"] as $key => $value) { $status = 'active'; } Jeden input: <input type="checkbox" name="<?php print ($fws); ?>" id="<?php print ($fws_name[0]); ?>" class="checkbox" value="<?php print ($fws_value[0]); ?>" <?php if ($status == 'active') { echo 'checked="checked"'; } ?> /> Z includovaného souboru se předávají proměnné: $fws ='fws[]'; $fws_name[0] ='fws1'; $fws_value[0] ='ABC'; // tady mám vždy nějaký trojmístný kód, každý checkbox má jiný $fws_name[1] ='fws2'; $fws_value[1] ='BCD'; atd. |
||
fajzen Profil |
#2 · Zasláno: 28. 9. 2009, 23:53:55 · Upravil/a: fajzen
„zatrhnou se úplně všechny checkboxy“
samozrejme, že sa zatrhnú všetky inputy, keď všetky inputy zdieľajú rovnakú premennú $status, ktorej stačí, aby sa odoslal jediný zatrhnutý input... skôr by to chcelo asi niečo ako: <?php foreach ($_POST["fws"] as $key => $value) { $status[$value] = 'active'; } ?> <input type="checkbox" name="<?php print ($fws); ?>" id="<?php print ($fws_name[0]); ?>" class="checkbox" value="<?php print ($fws_value[0]); ?>" <?php if (isset($status[$fws_value[0]]) && $status[$fws_value[0]] == 'active') { echo 'checked="checked"'; } ?> /> |
||
Mufna Profil |
#3 · Zasláno: 29. 9. 2009, 15:44:27
Tak jsem to trochu předělal. Poradíte mi jak mám teď zkonstruovat funkci foreach() pro kontrolu odeslaných checkboxů, která projde celé pole $checkbox ? Možná by $checkbox mohlo být i dvourozměrné pole se všemi hodnotami, ale nevím.
Základní rozdělení (kategorie): $checkbox = array( 0 => 'fws[]', 1 => 'grf[]', 2 => 'cod[]' ); Jednotlivé inputy v kategoriích $fws = array( 0 => 'AA1', 1 => 'AA2', 2 => 'AA3', 3 => 'AA4' ); $grf = array( 0 => 'BB1', 1 => 'BB2', 2 => 'BB3', 3 => 'BB4', 4 => 'BB5', 5 => 'BB6', 6 => 'BB7' ); $cod = array( 0 => 'CC1', 1 => 'CC2', 2 => 'CC3', 3 => 'CC4', 4 => 'CC5' ); Kód prvního inputu: // Pro $fws - tučně vyznačené se samozřejmě mění <input ... name="<?php print ($checkbox[0]); ?>" value="<?php print ($fws[0-3]); ?>" <?php if ($status[$fws[0-3]] == 'active') { echo 'checked="checked"'; } ?> /> // Pro $grf <input ... name="<?php print ($checkbox[1]); ?>" value="<?php print ($grf[0-6]); ?>" <?php if ($status[$grf[0-6]] == 'active') { echo 'checked="checked"'; } ?> /> // Pro $cod <input ... name="<?php print ($checkbox[2]); ?>" value="<?php print ($cod[0-4]); ?>" <?php if ($status[$cod[0-4]] == 'active') { echo 'checked="checked"'; } ?> /> |
||
Časová prodleva: 15 let
|
0