isSubmittedBy() – problem

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

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
+
0
-

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.

Jan Tvrdík
Nette guru | 2595
+
0
-

Nemuze byt problem s tim ajaxem?

David Grudl
Nette Core | 8147
+
0
-

Pokud formulář odesíláš AJAXově, ujisti se, že se odesílá i informace o stisknutém tlačítku.

dodik
Člen | 10
+
0
-

no takze moja nocna mora vyriesena.
Zabudol som na

<script>
$("form :submit").click(function () {
     $(this).ajaxSubmit();
     return false;
});
</script>

Dakujem za rady ;)