Formular se nepresmeruje na metodu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- saimons
- Člen | 293
Mam formular na Front page a kdyz ho dam odeslat tak vse vypada ze probehne v poradku ale nevyvola se vubec metoda na zpracovani, ale vyplnene hodnoty se zobrazi v URL jako parametry. Vubec to nechapu, pouzivam to tak vsude a jde to, zkousel jsem vypnout routovani, vypsat nake chyby, ale na nic jsem neprisel proc by to melo delat?
Edit: pokud to dam pryc z @layout.latte nekam do nakeho pohledu tak to
funguje.
Nette 2
<?php
protected function createComponentEemailForm()
{
$form = new NAppForm;
$form->addText('name', 'Jméno příjmení*')
->addRule(NForm::FILLED, 'Prosím, vyplňte jméno a příjmení.')
->getControlPrototype()->class('input_form');
$form->addText('adresa', '(Ulice č.p., Město, PSČ)*')
->addRule(NForm::FILLED, 'Prosím, vyplňte adresu.')
->getControlPrototype()->class('input_form');
$form->addText('email', 'Váš email:')
->addRule(NForm::FILLED, 'Prosím, vyplňte Váš email.')
->addRule(NForm::EMAIL, 'Vložte správný e-mail.')
->getControlPrototype()->class('input_form');
$form->addText('telefon', 'Telefon*')
->addRule(NForm::FILLED, 'Prosím, vyplňte telefon.')
->getControlPrototype()->class('input_form');
$form->addText('datein', 'Den příjezdu (dd.mm.rrrr)*')
->addRule(NForm::FILLED, 'Prosím,vyplňte den příjezdu.')
->addRule(NFORM::REGEXP, 'Nesprávný formát data, musí být dd.mm.rrrr.','/^\d{1,2}\s*\.\s*\d{1,2}\s*\.\s*(?:\d{2}|\d{4})$/')
->getControlPrototype()->class('input_form');
$form->addText('dateout', 'Den odjezdu (dd.mm.rrrr)*')
->addRule(NForm::FILLED, 'Prosím,vyplňte den odjezdu.')
->addRule(NFORM::REGEXP, 'Nesprávný formát data, musí být dd.mm.rrrr.','/^\d{1,2}\s*\.\s*\d{1,2}\s*\.\s*(?:\d{2}|\d{4})$/')
->getControlPrototype()->class('input_form');
$form->addText('pocet', 'Počet osob*')
->addRule(NForm::FILLED, 'Prosím, vyplňte počet osob.')
->addRule(NForm::INTEGER, 'Parametr počet osob musí být číslo.')
->getControlPrototype()->class('input_form');
$form->addTextArea('poznamka', 'Poznámka',22,2);
$form->addSubmit('save','')
->getControlPrototype()->class('button_sub');
$form->onSubmit[] = array($this, 'EemailFormSubmitted');
return $form;
}
public function EemailFormSubmitted(NAppForm $form) {
try {
$OStr = new Front_StrankaModel();
$result = $OStr->odesliEmail($form->getValues());
$this->redirect(':Front:Stranka:odeslano');
}
catch (AuthenticationException $e) {
$form->addError('Omlouvame se, doslo k neznámé chybě');
}
}
?>
v template mam normalne {widget eemailForm}
URL pak vypad: localhost/?name=dsadas&adresa=dasdasd&email=dasds%40dasd.cz&telefon=das&datein=1.1.2001…
Editoval saimons (13. 4. 2011 17:57)