Mam formularz + układ tak:Dlaczego zdarzenie przesyłania formularza nie jest uruchamiane (jQuery)?
<form ...>
<div id="editor">
[form html]
<input type="submit" value="Submit form" />
</div>
</form>
i następujący skrypt:
$(function() {
var form = $('#editor').parents('form');
alert(form.length); // this alerts "1"
$(document).on('submit', 'form', function() {
alert('document form submit fired'); // this works as expected (alerts)
});
form.on('submit', function() {
alert('selected form submit fired'); // this is never alerted
});
});
Ta forma nie jest załadowany za pośrednictwem ajax. Po załadowaniu strony pierwsze okno dialogowe ostrzeże "1". Jednak przy wysyłaniu formularza uruchamiany jest tylko jeden alert - taki, który uruchamia się dla wszystkich formularzy w dokumencie.
Dlaczego tak się stanie?
Działa dla mnie w jsFiddle http://jsfiddle.net/sERhZ/ Może coś jest nie tak z twoim html, a nawet instalatorem? –
W rzeczywistości, biorąc pod uwagę procedury obsługi, ta, która została zastosowana bezpośrednio do formularza, powinna (i jest) najpierw zostać uruchomiona. Czy to twój pełny kod? Czy są jakieś błędy w konsoli przeglądarki? – tvanfosson
Założę się, że masz 'return false' na pierwszej obsłudze, co uniemożliwi drugi atak. Czy mam rację? – gdoron