Toggle formulářové prvky v ajaxovém modal okně
- adioverride
- Člen | 26
Ahoj,
prosím vás řeším takovou asi banalitku. Otevírám v aplikaci modal okno
ve kterém je formulář, celé to načítám ajaxově. Na formulářové prvky
bych chtěl použít toggle funkce.
$form->addSelect('type', 'Type', $types)
->setPrompt('- Nothing -')
->addRule(Form::FILLED, 'Select type')
->addCondition($form::EQUAL, 'daily')
->toggle('daily');
Nicméně toggle funkce na formuláři nefungují (teda pokud je v modal okně). Myslím, že bych měl reinicializovat netteForms.js po načtení modal okna. Jakým způsobem toho mohu docílit?
Díky,
A.
- Polki
- Člen | 553
Ano, po nacteni prvku ajaxem se neuplatni znovu js, ktery uz na strance
je.
Mas dve moznosti.
- Bud nenacitat prvky AJAXem, jelikoz pak nebudes muset refreshovat js, ale pocitam, ze to AJAXem delat musis napriklad z duvodu ruzneho poctu formularovych prvku v modal okne.
- Nebooo obalit nacitani onech js knihoven snippetem a invalidovat tento snippet taky.
Nic jine me nenapada.
Snad pomohlo.
- duke
- Člen | 650
Knihovna nette.ajax.js to řeší prostřednictvím rozšíření forms, které je definováno přímo v nette.ajax.js. Konkrétně zaregistruje after handler rozšíření snippets, který vyhledá všechny elementy <form> v nově vloženém snippetu a zavolá na nich window.Nette.initForm (který je definován v netteForms.js).
Editoval duke (6. 12. 2018 12:03)