isAjax po odeslání formuláře nefunguje
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- motorcb
- Člen | 552
Zdravím.
Mám presenter: Commentpresenter.php
Ve kterém mám následující signál, kterým vymažu komentář:
public function handleCommentDelete( $nCommentId )
{
$this->context->createComment()->where( array( 'id' => $nCommentId ) )->delete();
}
if ($this->presenter->isAjax()) {
$this->invalidateControl();
}
}
TO funguje bezvadně. A zároveň mám formulář kterým přidávám komentář:
public function comentAddFormSubmitted($form) {
$aValues = $form->getValues(TRUE); // same as: (array) $form->values;
$aValues["date"] = new DateTime();
$this->context->createBazar_comment()->insert($aValues);
if( $this->presenter->isAjax() )
{
$form->setValues(array(), TRUE);
$this->invalidateControl('form');
$this->invalidateControl();
}
else
{
$this->redirect('this');
}
}
ve kterém mi $this->presenter->isAjax() vrací
false a tudíž se neprovede AJAX.
Nevěděl by prosím někdo kde dělám chybu?
- Vojtěch Dobeš
- Gold Partner | 1316
- V presenteru nemusíš používát
$this->presenter
, protože$this === $this->presenter
. - Určitě se ti to odesílá AJAXem?
- Ot@s
- Backer | 476
Je fomulář pro vkládání komentářů submitnutý via AJAX? Vypadá to, že není. Viz. ajaxové formuláře.