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

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
+
0
-
  1. V presenteru nemusíš používát $this->presenter, protože $this === $this->presenter.
  2. Určitě se ti to odesílá AJAXem?
Ot@s
Backer | 476
+
0
-

Je fomulář pro vkládání komentářů submitnutý via AJAX? Vypadá to, že není. Viz. ajaxové formuláře.

motorcb
Člen | 552
+
0
-

Ouuu, problém byl v tom, že formulář nebyl submitnutý AJAXem.

Díky za nakopnutí :)