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 | 8228
Pokud formulář odesíláš AJAXově, ujisti se, že se odesílá i informace o stisknutém tlačítku.