ajaxova zmena formulare – jak zmenit hodnotu
- ondrej256
- Člen | 187
Zdravím,
mám metodu jednoduchý formulář s názvem ZkusebniFormular, při nějaké akci ajaxově volám handleChange(), chci aby handleChange, nastavil jinou hodnotu inputu ve formuláři. Jak toho docílím? Metoda se v pořádku zavolá přes ajax, pošle formulař ve snippetu, překreslí se, ale formulář zůstane stejný, asi to dělám špatně. mám to nějak takto:
Formulař v komponentě
..
$this->addText("jmeno","Jmeno");
..
Presenter
public function handleChange(){
if($this->isAjax()){
$form = $this->getComponent("ZkusebniFormular");
$form['jmeno']->setValue('Zkouska'); // chci aby se inputu "jmeno" nastavila hodnota Zkouska, ale nejde to
$this->redrawControl('ZkusebniFormularSnippet');
}
}
šablona
{snippet ZkusebniFormularSnippet}
{control zkusebniFormular}
{/snippet}
Editoval ondrej256 (11. 7. 2014 23:18)
- ondrej256
- Člen | 187
ondrej256 napsal(a):
Zdravím,
mám metodu jednoduchý formulář s názvem ZkusebniFormular, při nějaké akci ajaxově volám handleChange(), chci aby handleChange, nastavil jinou hodnotu inputu ve formuláři. Jak toho docílím? Metoda se v pořádku zavolá přes ajax, pošle formulař ve snippetu, překreslí se, ale formulář zůstane stejný, asi to dělám špatně. mám to nějak takto:
Formulař v komponentě
.. $this->addText("jmeno","Jmeno"); ..
Presenter
public function handleChange(){ if($this->isAjax()){ $form = $this->getComponent("ZkusebniFormular"); $form['jmeno']->setValue('Zkouska'); // chci aby se inputu "jmeno" nastavila hodnota Zkouska, ale nejde to $this->redrawControl('ZkusebniFormularSnippet'); } }
šablona
{snippet ZkusebniFormularSnippet}
{control zkusebniFormular}
{/snippet}
Editoval ondrej256 (11. 7. 2014 23:17)
- Climber007
- Člen | 105
Ahoj, mám úplně stejný problém. Jen nemám zvláštní handle, ale všechno mám v callbacku na submit tlačítku.
- Filip Klimeš
- Nette Blogger | 156
Takhle moc nevím kde je chyba. Co znamená „překreslí se, ale formulář zůstane stejný“?