Chování formuláře upraveným JavaScriptem
- Ellesmess
- Člen | 21
Zdravím,
chtěl jsem se zeptat, zda má Nette nějaké specifické chování, pokud se mu „pod rukama“, tzn. na straně klienta, změní formulářový prvek, konkrétně select?
JavaScriptem si dotahuji select, nicméně jelikož nefungují snippety v include šabloně, byl jsem nucen toto řešit ručně. Funguje to perfektně, data se mi do selectu dotáhnou, ale po submitu formuláře je tento konkrétní select NULL – skoro, jako by se Nette nelíbílo, že se mu bez jeho vědomí zmenil…
Napadá někoho, proč tomu tak je?
Díky za pomoc
PHP 5.4, Nette 2.x (nyní nemohu ověřit…)
- mildabre
- Člen | 62
Záleží proč select dynamicky měníš – v závislosti na jiném
formulářovém prvku ? Potom je zde možnost dynamického přepínání
select-ů javascriptem na straně klienta – podle stavu např. nějakého
checkboxu. Na serverové straně vyhodnotíš který select byl zvolen a podle
toho zpracuješ odpovídající datové pole. I validace se dá takto
ošetřit – pomocí metody ->setCondition(…)->setRule() můžeš
nastavit podmíněnou validaci právě podle toho jakou hodnotu má ten
přepínací prvek.
Tak snad jsem Ti poradil správně, z Tvého dotazu není zcela patrné proč
ten select potřebuješ dynamizovat.
- bumprask
- Člen | 59
Máme stejný problém, ve formuláři je text input a prázdný select, na text input ve formuláři mám navěšený autocomplete (jquery UI), do text inputu zadám řetězec pod ním se zobrazí seznam nalezených položek, po zvolení položky nabízené autocomplete se výsledek pomocí javascriptu vloží do připraveného prázdného Selectu jako nová položka s atributem selected. Problém nastává s hodnotou tohoto selectu, po odeslání formuláře má hodnota selectu null. Tedy formulář se neodešle se změnami provedenými javascriptem. Jak prosím tuto situaci vyřešit? Jak učinit autocomplete takto použitelným? Děkuji