Vykreslení formuláře a odeslání jako payload

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

Zdravím potřeboval bych vykreslit formulář a odeslat ho jako payload. Přesně toto:

use Nette\Application\UI\Form;
$this->payload->form = $this->getComponent("userForm")->__toString();
$this->sendPayload();

Kód jako takový funguje bez problému, jen formulář se po odeslání nevykoná callback onSuccess.
Jakým způsobem by se toto mělo řešit. Potřebuji prostě obsah vyrenderovaného presenteru poslat jako JSON. Vím, že by k tomu měli primárně sloužit snippety, ale ty pro mě nejsou řešením, kvůli tomu, že datagrid příjmá pouze JSON.

Je nějaký způsob jak toto obejít? Buď poslat formulář přímo nebo nějak vyrenderovat celou šablonu a potom ji odeslat jako payload.

Filip Procházka
Moderator | 4668
+
0
-

I snippety se posílají v JSONu, pomocí payload.

Editoval HosipLan (26. 8. 2011 17:58)

vasekboch
Člen | 8
+
0
-

Jo to vím, ale nemůžu ovlivnit strukturu toho payloadu. Takže mi to moc nepomůže. Potřebuju posílat samotnej formulář + další data. Mě jde jen o to, kde je zakořeněný to, proč mi to neodchytne to odeslání formuláře.

Solved:
Nakonec vyřešeno takto. Přesto díky za pomoc.

$this->processSignal();
$this->payload->form = $this->getComponent("userForm")->__toString();
$this->sendPayload();

Editoval vasekboch (26. 8. 2011 18:22)

bojovyletoun
Člen | 667
+
0
-

tohle se mi vůbec nelíbí… (ale bez souvislostí nebudu odhadovat účel použití)