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
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");
}
}
- exquis
- Člen | 83
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.