Změna action u formuláře na jinou

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

Zdravím,

je možné změnit action u formuláře? Zkouším setAction, ale ten action u formuláře nezměnil. Potřebuji form odeslat na jinou stránku, proto je nutná změna action.

PS. Ta minimální délka u předmětu je docela extrém.

Editoval baal (15. 6. 2010 17:45)

dotTwelve
Člen | 167
+
0
-

viz. dokumentace

<?php
$form = new Form;
$form->setAction('/submit.php');
$form->setMethod('get');
?>

nefunguje? Nastavujes i metodu GET, namisto POST?

baal
Člen | 34
+
0
-

GET nenastavuji, potřebuji POST. Ono to bude spíš tím, že používám AppForm. U něho action asi nezměním, jinak u Form to funguje.

Honza Marek
Člen | 1664
+
0
-

Nejde :-/

assassik
Člen | 43
+
0
-

Tohle mi funguje bez problému:

<?php
protected function createComponentForm($name){
        $form = new AppForm($this, $name);
	$form->setAction( $this->link("Presenter:action", array("do" => $name."-submit")) );

	/* ...prvky formuláře... */

	return $form;
}
?>
_Martin_
Generous Backer | 679
+
0
-

Jj, action jde změnit i u AppForm, ale musíš to provést až po volání metody attached ⇒ po připojení formuláře k presenteru.

amsys
Člen | 20
+
0
-

Kdyžtak

$form->setAction(new Link(
    $this,
    '//Presenter:action',
    array(
        'do' => $form->lookupPath(
            'Nette\Application\Presenter'
        ) . self::NAME_SEPARATOR . 'submit'
    )
));

Editoval amsys (18. 6. 2010 10:45)