Jak poslat data z formulare do formulare
- Neonode
- Člen | 9
Dobry den, moc se omlouvam, ale nejak se mi z toho uz mota hlava.
Potrebuji vyrobit:
Formular, dve tri pole ktere se vyplni – clovek vypise, odesle a po stisknuti trebas „next“ se zobrazi dalsi formular, ktery bude mit cas inputu z puvodniho a jiz predvyplnene hodnotami, ktere zadal plus k tomu tma pribude dalsi input prazny a po odeslani tohoto se vse teprve ulozi do db.
Vim jak vyrobim formular, vim jak nactu defaultni data do formulare z DB, vim jak je do DB ulozim, ale nedari se mi nacpat do formulare data z predesleho formulare, aniz bych to mezi tim musel ukladat do DB.
Moc prosim o radu, nepotrebuji kod jak to spachat, ale jen klidne teoreticky nasmerovat.
Dekuji moc
- Matúš Matula
- Člen | 257
Bud mozes pri spracovani 1.formulara presmerovat na dalsiu stranku (view) a
predat parametre cez url – to sa mi moc nepaci.
Alebo si tie data niekam ulozis (session, ak sa ti nepaci db) a pri naplnani
2. formulara vytiahnes data odtial
- Filip Procházka
- Moderator | 4668
protected function createComponentFormularJedna($name)
{
$form = new Nette\Application\AppForm($this, $name);
/* definice formuláře ... */
$form->onSubmit[] = array($this, 'FormularJednaStoreAndRedirect');
return $form;
}
public function FormularJednaStoreAndRedirect(Nette\Application\AppForm $form)
{
$session = Nette\Environment::getSession('StoredForm.Data');
$key = $this->getAction(TRUE) . '#' . $form->getName();
$session[$key] = $form->getValues();
$this->redirect('next');
}
public function actionNext()
{
$session = Nette\Environment::getSession('StoredForm.Data');
$key = ":Cely:Nazev:Cesty:K:Presenteru:A:Nazev:akce#formularJedna";
if (!isset($session[$key])) {
$this->redirect('before'); /* zpátky na původní formulář */
}
unset($session[$key]);
$this['formularDva']->setValues($session[$key]);
}
protected function createComponentFormularDva($name)
{
$form = new Nette\Application\AppForm($this, $name);
/* definice formuláře ... */
return $form;
}