Vyvolání odeslání formuláře přes odkaz

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

Ahoj,

chci se zeptat zda mohu nějakým způsobem odeslat formulář pomocí odkazu.

Např. mám formulář a v něm nějaký odkaz na handler, ale předtím než zavolám handler bych potřeboval nějakou část formuláře zpracovat.

Zatím to řeším takto:

v presenteru mám metodu

public function saveItems(SubmitButton $button){
	//vezmu potřebné values a uložím
}

public function handleRemoveItem($id){
	//zpracuji požadavek a překreslím daný snippet
}

ve formuláři asi takto:

$form->addSubmit('saveItems',null)->setValidationScope(false)->onClick[] = Callable::closure($this,'saveItems');

a v šabloně potom takhle:

<button class="ajax" n:name="saveItems" onclick="{link removeItem! $id}">Odstranit</button>

Jde o to, že je to trochu složitější form kde mi nestačí Kdyby\Replicator, ale abych zachoval data, které uživatel zadal během vyplňování, když pak následně vyvolá nějakou akci, tak musím nejprve zpracovat co zadal, protože když logicky překreslím tu část, tak by se mu tam vyplnily zase defaultní data. Ono to takhle funguje, ale vadí mi, že musím volat ten handler v onclick chtěl bych vyvolat to odeslání formu nějak jinak, pokud je to možné.

Díky za rady :)

Editoval kleinpetr (26. 11. 2015 2:23)