Dva formulláře na stránce a $form->isSubmitted()
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Kori
- Člen | 73
Zdravím, nepoužívám celé Nette, ale pouze výborné formuláře.
Na stránce mám vlastní HTML formulář a po odeslání tohoto formuláře se nabídne formulář generovaný pomocí Form z Nette.Problém nastává, že pokud odešlu první formulář, formulář z nette se rovnou „odešle“ také, ačkoliv mám v kodu test na to, jakým tlačítkem má být nette formulář odeslán.
Jednoduchý příklad
<?php
if($_REQUEST['ahoj'] == "")
{
echo '<form action="" method="post" id="muj_formular">';
echo '<input type="text" name="ahoj">';
echo '<input type="submit" name="muj_submit" id="muj_submit" value="Odeslat muj formular">';
echo '</form>'
}
else
{
$form = new Form();
...generuji pole pro form formular
$form->addSubmit('submit1', 'Odeslat nette formular');
if($form->isSubmitted())
{
//zde je TRUE, ikdyz je odeslan prvni "muj_formular" a nikoliv Nette formular
if($form['submit1']->isSubmittedBy())
{
//zde je take TRUE, ikdyz je odeslan prvni "muj_formular" a nikoliv Nette formular
//minimalne zde bych ocekaval FALSE
}
}
echo $form;
}
?>
Kde delam chybu? Diky za nakopnuti :-)
Update: Ted jsem prisel na to, ze pokud odeslu ‚muj_formular‘ pres GET, pak to funguje, jak ma. Problem je tedy jen pri odeslani pres POST.
Editoval Kori (3. 5. 2010 16:10)