Problem s formulari, problémy s odesláním/redirect
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Oky_Lister
- Člen | 2
Zdravím, snažim jsem již pár dni o vytvoření formuláře ale stále se
mi nedaří. Zkoušel jsem se držet několika návodu ale vždy buď scela
neúspěšně nebo se vyskytli některá problémy.
dle návodu na webu:
protected function createComponentRegistrationForm()
{
$form = new Form();
$form->addText('name', 'Jméno:');
$form->addPassword('password', 'Heslo:');
$form->addSubmit('login', 'Registrovat');
$form->onSuccess[] = array($this, 'registrationFormSucceeded');
return $form;
}
// volá se po úspěšném odeslání formuláře
public function registrationFormSucceeded($form, $values)
{
// ...
$this->flashMessage('Byl jste úspěšně registrován.');
$this->redirect('Plemena:default');
}
v tomto formuláři se mi nepodařilo rozchodit ani jeho odeslání
poté podle jiného návodu, možná staršího:
protected function createComponentPridanipsaFormular()
{
$moznosti_pohlavi = array(
'pes' => 'pes',
'fenka' => 'fenka',
);
$plemena = $this->database->table('plemeno')->fetchPairs('id_plemene','nazev');
$psi = array(''=>'neznamy otec');
$psi += $this->database->table('pes')->where('pohlavi','pes')->fetchPairs('cislo_psa','jmeno');
$fenky = array(''=>'neznama matka');
$fenky += $this->database->table('pes')->where('pohlavi','fenka')->fetchPairs('cislo_psa','jmeno');
$form = new Form();
$form->addText('jmeno', 'Jmeno:')->setRequired();
$form->addRadioList('pohlavi', 'Pohlavi:', $moznosti_pohlavi)->getSeparatorPrototype()->setName(NULL)->setRequired();
$form->addSelect('plemeno', 'Plemeno:',$plemena)->setRequired();
$form->addText('majitel', 'Majitel:');
$form->addSelect('matka', 'Matka:',$fenky);
$form->addSelect('otec', 'Otec:',$psi);
$form->addText('oceneni', 'Oceneni:');
$form->addSubmit('vlozit', 'Vlozit');
if ($form->isSuccess())
{
$values = $form->getValues();
$this->database->table('pes')->insert(array(
'jmeno' => $values->jmeno,
'pohlavi' => $values->pohlavi,
'pes_plemeno' => $values->plemeno,
// 'majitel' => $values->majitel,
// 'rodic1' => $values->matka,
//'rodic2' => $values->otec,
//'ziskane_oceneni' => $values->oceneni,
));
dump($values);
}
return $form;
}
formulář samozřejmě není kompletní, druhý případ fungoval vcelku dobře ale měl jsem problémy s redirectem. Jsem opravdu nováček v NETTE takže za případné chyby s eomlouvám
- Oky_Lister
- Člen | 2
Omlouvám se za špatnou formulaci dotazu. Upozornili jste mě na chyby v uvažování. Díky :-)