Nefunguje onClick na submit buttonu ajaxoveho formulare
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- xklid101
- Člen | 2
Zdravim,
nevim jestli delam neco spatne, ale nevola se mi callback na onClick
submitbuttonu formulare, ale JEN PRI AJAX odesilani – bez ajax to funguje
vse Ok
Nette 2.0.12
PHP 5.4.9–4ubuntu2.1
presenter:
<?php
use Nette\Application\UI\Form,
Nette\Forms\Controls\SubmitButton;
/**
* Homepage presenter.
*/
class HomepagePresenter extends BasePresenter
{
protected function createComponentTestForm() {
$form = new Form;
$form->getElementPrototype()->setClass('ajax');
$form->addText('test','Test');
$form->addSubmit('submit','submit')
->onClick[] = $this->testFormClicked;
return $form;
}
public function testFormClicked(SubmitButton $btn) {
$vals = $btn->form->getValues();
\Nette\Diagnostics\Debugger::fireLog($vals);
}
}
?>
sablona:
<div id="test-form">
{control testForm}
</div>
a jquery zajaxovateni:
<script type="text/javascript">
$('#test-form form.ajax').on('submit',function(e){
e.preventDefault();
var $form = $(this)
$.ajax({
method:$form.attr('method'),
url:$form.attr('action'),
data:$form.serialize()
})
})
</script>
Ajaxem se posle normalne POST se vsim vsudy jak to ma byt, jen se nezavola
ten cb testFormClicked. Nevite nekdo kde by mohla byt chyba??
(Vsechny jscripty jsou nalinkovane spravne a vse ostatni by taky melo byt
ok – je to cerstvy sandbox pres composer)