Zavolani JavaScriptu po odesláni formuláře
- motorcb
- Člen | 552
Zdravim.
Mám aplikaci na FB ve které si hraji s odesíláním informací na
uživatelovo zeď.
Po odeslání formuláře bych chtěl uživateli otevřít dilogové okno, kde
by měl možnost odeslat informace na jeho zeď.
public function wallFormSubmitted(Form $form)
{
$aValues = $form->getValues(TRUE); // same as: (array) $form->values;
...
$this->redirect('this');
}
Ovšem nevím jak po odeslání formuláře vykonat nějakou akci?
Konkrétně zavolat JS funkci postToFeed ???
Díky za rady
- petr.pavel
- Člen | 535
Můžeš si třeba ve wallFormSubmitted() naplnit proměnnou
$this->template->runPostToFeed = true
(případně
$this->presenter->template…, jestli máš formulář definovaný
separé) a pak v šabloně
{if !empty($runPostToFeed)}
<script>
runToFeed();
</script>
{/if}
- motorcb
- Člen | 552
petr.pavel:
Diky za rady. Nezneplatni se nahodou
$this->template->runPostToFeed = true; po redirectu?
Protože mne to takhle nefunguje…
public function wallFormSubmitted(Form $form)
{
$aValues = $form->getValues(TRUE); // same as: (array) $form->values;
...
$this->template->runPostToFeed = true;
$this->redirect('this');
}
Editoval motorcb (18. 7. 2012 14:21)
- petr.pavel
- Člen | 535
Šit, na ten jsem zapomněl. Máš recht.
Takže buď neredirectovat na this, ale na zvláštní šablonu (to se ti asi nehodí), nebo si nenastavovat proměnnou šablony, ale nějaký parametr akce presenteru – nebo persistentní parametr presenteru.
A ten pak v akci po redirekci předávat šabloně a dál, jak jsem navrhoval.