Získání parametrů formuláře při AJAX odeslání

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

Zdravím,

mám formulář AddZbozi, pricemz ten chci odeslat AJAXem, to se povede, zavola to metodu handleAddZbozi, ale vubec nemam tuseni, jak v ni ziskam parametry toho formulare? Zkousel jsem pridat metodet handleAddZbozi klasicky Form ( public function handleAddZbozi(Form $Form)), a pak pouzit getValues(), ale nefunguje, tusite, kde by mohl byt problem?

protected function createComponentAddZbozi() {
      $form = new UI\Form;
      $form->addText("name", "Název zboží");
      $form->addSelect("categoryId", "Kategorie", $this->EshopKategorie->getSeznamKategorii($this->getSiteId())->fetchPairs("id", "name"));
      $form->addSelect("typId", "Typ", $this->EshopZboziTyp->getTypyZbozi($this->getSiteId())->fetchPairs("id", "name"));
      $form->onSubmit[] = array($this, "handleAddZbozi");
      return $form;
  }
public function handleAddZbozi(Form $Form) {
		// Zkousel jsem klasicky, ale nejak nepremava
       $name = $Form->getValues()->name;
       $categoryId = $this->presenter->getParameter("categoryId");
       $typeId = $this->presenter->getParameter("typeId");
       if (!empty($name)) {
           $id = $this->EshopZbozi->addZbozi($name, $this->getSiteId());
       }
       if ($id->id) {
           $this->redirect("Sortiment:detailZbozi", array("id" => $id->id));
       } else {
           $this->error("Chyba při přidání produktu");
       }
   }
akadlec
Člen | 1326
+
0
-

a ten form ajaxově odesíláš jak?

exquis
Člen | 83
+
0
-

pomocí jquery.nette.js

/**
 * AJAX Nette Framework plugin for jQuery
 *
 * @copyright Copyright (c) 2009, 2010 Jan Marek
 * @copyright Copyright (c) 2009, 2010 David Grudl
 * @copyright Copyright (c) 2012 Vojtěch Dobeš
 * @license MIT
 *
 * @version 1.2.2
 */

takze tam hodim akorat init(); a formulari hodim .ajax, v ajaxu problem nebude protoze ten neco odesila, horsi je jak to „něco“ dostat v presenteru do pouzitelne formy.

akadlec
Člen | 1326
+
0
-

a když ajax vypneš tak ti jede ok?

Lukeluha
Člen | 130
+
0
-

Pozor na namespace, v továrničce vytváříš new UI\Form;, ale v parametru v callbacku máš pouze Form;

akadlec
Člen | 1326
+
0
-

Tak to by mu vyhodilo výjimku a té by si snad všim ;)

Lukeluha
Člen | 130
+
0
-

jediné co napsal bylo, že mu to nefunguje :)