Formulář se neodešle – stránka se načte znovu bez změny

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

Zdravím,

vytvářím jednoduchý kontaktní formulář. Mám funkce:

 public function createComponentContactForm() {
	$form = new Form;
	$form->addText('name', 'Jméno:');
	$form->addText('email', 'Email:');
	$form->addTextArea('text', 'Text:');
	$form->addSubmit('send', 'Odeslat');
	$form->onSubmit[] = callback($this, 'contactFormSubmitted');

	return $form;
}

public function contactFormSubmitted() {
	echo "x";
	$this->redirectUrl('https://nette.org');
}

Vypisuji přes {control contactForm}, vygenerovaný HTML:

<form action="" method="post" id="frm-">

<table>
<tr>
	<th><label for="frmcontactForm-name">Jméno:</label></th>

	<td><input type="text" class="text" name="name" id="frmcontactForm-name" value="adssad" /></td>
</tr>

<tr>
	<th><label for="frmcontactForm-email">Email:</label></th>

	<td><input type="text" class="text" name="email" id="frmcontactForm-email" value="sadsadsda" /></td>
</tr>

<tr>
	<th><label for="frmcontactForm-text">Text:</label></th>

	<td><textarea cols="40" rows="10" name="text" id="frmcontactForm-text">sadsad</textarea></td>
</tr>

<tr>
	<th>&nbsp;</th>

	<td><input type="submit" class="button" name="send" id="frmcontactForm-send" value="Odeslat" /></td>
</tr>
</table>

</form>

Cíleně jsem odebral veškerá pravidla. Po odeslání formuláře se stránka načte znovu, ale bez změny (contactFormSubmitted se nezavolá → nejsem přesměrován). Díky za jakékoliv rady!

Jan Endel
Člen | 1016
+
0
-

Zkus pro začátek zaměnit onSubmit[] za onSucces[] které se používá v nejnovějším nette.

voda
Člen | 561
+
0
-
aGr
Člen | 45
+
0
-

pilec napsal(a):

Zkus pro začátek zaměnit onSubmit[] za onSucces[] které se používá v nejnovějším nette.

To jsem zapomněl napsat, že nepomohlo.

voda napsal(a):

Nepoužíváš místo Nette\Application\UI\Form Nette\Forms\Form?

Je to tak! Změnil jsem use na „Nette\Application\UI\Form“ a šlape to. Díky moc. Pouze nerozumím proč v tutorialu je napsané Nette\Forms\Form. Je to chyba?

22
Člen | 1478
+
0
-

..chce to číst tutoriál pořádně, ve 3. žlutém „okýnku“ máš napsané, co tě zajímá..

aGr
Člen | 45
+
0
-

Přehlídl jsem to, díky moc všem.