formulář nepředává nějaká data
- onny
- Člen | 67
Dobrý den,
mám dost nepříjemný problém s Nette Forms, nepředává nějaké hodnoty .
. Příklad
<select id="registraceForm-okres" name="okres"><optgroup label="Hlavní město Praha"><option value="3100">Hlavní město Praha</option></optgroup></select>
toto vygeneruje naprosto v pořádku, v kódu je $form->addSelect, prostě všechno super – potom hodnoty přijmu přes getValues() a prostě se jednou za čas stane, že nějaká chybí. Přitom v $_POST leží naprosto správně. Co něco takovýho může způsobovat?
Ještě dodám, že se ta položk přijme, tj. ve výše uvedeném případě getValues() je přítomen záznam „okres“ ale má hodnotu null.
Děkuji
Editoval onny (1. 3. 2011 16:53)
- Patrik Votoček
- Člen | 2221
zkus si když to nastane dumpnout $form['okres']->items
jestli obsahuje to co má. Protože pokud neobsahuje tak to nette bere jako
pokus o podvržení a hodí null.
- Patrik Votoček
- Člen | 2221
způsobuje to to že selecbox neplníš možnostmy které má mít… bez více infomací (kódu víc neporadím)
- onny
- Člen | 67
Příkládám a budu rád, když se na to podíváš
// predpoklada samozrejme db (kde id je vzdy jen cislo)
$i = 0;
$kraje = dibi::query("SELECT * FROM kraje ORDER BY text ASC")->fetchAll();
foreach($kraje as $kraj) {
if($kraj["kod"] != '00') {
$kod_kraj = $kraj["kod"];
// jeho okresy
$okresy = dibi::query("SELECT * FROM okresy WHERE kod_kraj =$kod_kraj ORDER BY nazev ASC")->fetchAll();
$o = 0;
foreach($okresy as $okres) {
$k = $okres["kod"];
$ziskane_pole[$k] = $okres["nazev"];
$o++;
}
// projdeme okresy
$k = $kraj["text"];
$umisteni_vygenerovano[$k] = $ziskane_pole;
$i++;
}
}
$form->addSelect('okres', 'Okres:', $umisteni_vygenerovano);
přihazuji dump $umisteni_vygenerovano
Hlavní město Praha
128 Hlavní město Praha
Jihočeský kraj
331 České Budějovice
440 Český Krumlov
442 Jindřichův Hradec
443 Písek
111 Prachatice
112 Strakonice
222 Tábor
- norbe
- Backer | 405
Máš ten kód co jsi sem dal umístěný v továrničce? A používej obarvování kódu php, aby to bylo lépe čitelné…