AJAX form odesílaný vícekrát
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Aearsis
- Člen | 57
Zdravím,
mám form, který po odeslání AJAXem ve snippetu přepíše sám sebe. Z nějakého zvláštního důvodu se mi znovu nenabindují eventy, momentálně používám tento nette.ajax.js , ale zkoušel jsem jich více. Firebug nehlásí žádnou chybu, při krokování funkce proběhne a teoreticky vše nabinduje (při prvním i druhém načtení). Prakticky jedinou zvláštní okolností je toto:
<script>
...
function (rh) {
$(this.linkSelector).off('click.nette', rh).on('click.nette', rh);
var $forms = $(this.formSelector);
$forms.off('submit.nette', rh).on('submit.nette', rh);
$forms.off('click.nette', ':image', rh).on('click.nette', ':image', rh);
$forms.off('click.nette', ':submit', rh).on('click.nette', ':submit', rh);
// $forms je nalezen, ale $forms.find('input') == []
var buttonSelector = this.buttonSelector;
$(buttonSelector).each(function () {
// a tento callback nikdy neproběhne, přestože selector je "input.ajax:submit", a element by měl existovat
$(this).closest('form')
.off('click.nette', buttonSelector, rh)
.on('click.nette', buttonSelector, rh);
});
},
Když jsem zkoušel nasimulovat chování bez Nette app v pozadí s jednoduchým jQuery kódem, všechno fungovalo jak má. Nemáte někdo nápad, kde by mohl být zakopaný pes?
Předem díky, já už jsem v koncích…
- Vojtěch Dobeš
- Gold Partner | 1316
Budiž vzešlým přínosem, že informaci o tomto pravidle by stálo za to napsat někam k doplňku :).