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í :)