isSubmittedBy() – problem
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- dodik
 - Člen | 10
 
Ahojte,
mam tovarnicku kde si vytvorim formular:
<?php
protected function createComponentTestForm() {
	$form = new AppForm;
	$form->getElementPrototype()->class('ajax');
	$form->addText('title', 'Názov');
	$form->addSubmit('save', 'Uložiť');
	$form->addSubmit('delete', 'Zmazať');
	$form->onSubmit[] = callback($this, 'saveItem');
	return $form;
    }
?>
pri kliknuti na niektore tlacitko mi:
<?php
	function saveItem(AppForm $form) {
		var_dump($form['delete']->isSubmittedBy());
	}
?>
vrati false. Ked testujem na:
<?php
	function saveItem(AppForm $form) {
		var_dump($form['save']->isSubmittedBy());
	}
?>
tak mi vzdy vrati true. :(
Nette Framework (version 2.0-dev 5bdf5b0 released on 2010–11–12)

- Mikulas Dite
 - Člen | 756
 
Otestoval jsem to na čistém nette a funguje to
public function createComponentForm($name)
{
	$form = new \Nette\Application\AppForm($this, $name);
	$form->addText('text');
	$form->addSubmit('submit1', 's1');
	$form->addSubmit('submit2', 's2');
	$form->onSubmit[] = callback($this, 'onSubmitForm');
	return $form;
}
public function onSubmitForm(\Nette\Application\AppForm $form)
{
	d($form['submit1']->isSubmittedBy(), $form['submit2']->isSubmittedBy());
}
I když tvořím AppForm jako ty (tzn jenom pomocí return),
tak to funguje.

- David Grudl
 - Nette Core | 8285
 
Pokud formulář odesíláš AJAXově, ujisti se, že se odesílá i informace o stisknutém tlačítku.