Jak předat parametr formuláři, který vytvořím ajaxem

kejlicz
Člen | 201
+
0
-

Ahoj.
Zkouším se naučit pracovat s formuláři ajaxově a narazil jsem na věc, která mi není jasná. Popíšu to zatím slovy, kdyby to nestačilo, dejte vědět a pošlu kód. Používám nette.ajax.js

Mám formulář s jedním selectem a nastavenou třídou ajax, který při změně ručně pomocí JS odešlu. Formulář se zpracuje, nastavím si v $this->template->showSmsForm IDčko objednávky, které se to týká, pak aktualizuju snippety pomocí redrawContol(). V šabloně je kontrola, zda je nastaveno showSmsForm a pokud ano, vygeneruje se mi další ajax formulář na odeslání SMS. Do teď to funguje, ale když odešlu ten SMS formulář, tak dostanu chybu, že showSmsForm v šabloně neexistuje.
Je mi asi jasné proč, ale nevím, jak to řešit.

Když např. pracuji ajaxově přes handleXXX, tak si proměné předávám v šabloně. Jak si je ale předávat, když pracuji s formulářem ajaxově?

Snad je to pochopitelné, jak to myslím.

Díky moc za pomoc.

TonnyVlcek
Člen | 31
+
0
-

Ahoj,

nějaký kus kódu by se tu hodil (presenter nebo komponenta kde to vytváříš), nejsem si jistý, jestli si to představuju správně:
Máš select, jakmile se po změně odešle, zobrazíš další form, po odeslání formuláře (onSuccess) dostaneš chybu, že proměnná (kterou do template posíláš v onSuccess metodě toho prvního formu) neexistuje. Tak nějak?

Řekl bych, že v tom onSuccess toho druhého formuláře SmsForm) musíš tu proměnnou taky poslat do šablony. Zpracování formuláře funguje na „úrovni“ signálů, takže tam někde o tu proměnnou přijdeš (nebo spíš se v tom daným běhu vůbec nedostaneš na ten kus kódu, který ji předtím nastavil).

Snad to pomůže, pokud ne tak zkus nadhodit nějaký kód a třeba se tam ještě najde něco jinýho :)

kejlicz
Člen | 201
+
0
-

Díky za reakci. Já teď nejsem u počítače, kde mám přístup ke kódu a přesně nevím, kdy se k tomu do stanu.

Editoval kejlicz (24. 9. 2018 10:41)