ajaxova zmena formulare – jak zmenit hodnotu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ondrej256
Člen | 187
+
0
-

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
+
0
-

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)

ondrej256
Člen | 187
+
0
-

Nevím jeslti jsem položil otázku tak, že ji nikdo nemůže pochopit nebo nikdo nezná odpověď.
Kdyžtak napiště, že se špatně ptám, nebo že jsem ztracený případ :D

Editoval ondrej256 (11. 7. 2014 23:18)

Climber007
Člen | 105
+
0
-

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
+
0
-

Takhle moc nevím kde je chyba. Co znamená „překreslí se, ale formulář zůstane stejný“?

HonzaN
Člen | 66
+
+1
-

Ahoj,
zkus to s

$form = $this->getComponent(„zkusebniFormular“);

místo

$form = $this->getComponent(„ZkusebniFormular“);