Tôi có một hình thức + bố trí như sau:Tại sao sự kiện gửi biểu mẫu không kích hoạt (jQuery)?
<form ...>
<div id="editor">
[form html]
<input type="submit" value="Submit form" />
</div>
</form>
Và javascript sau:
$(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
});
});
Hình thức này không được nạp thông qua ajax. Khi trang tải, hộp thoại đầu tiên cảnh báo "1". Tuy nhiên, khi gửi biểu mẫu, chỉ một cảnh báo được kích hoạt - một cảnh báo kích hoạt gửi cho tất cả các biểu mẫu trong tài liệu.
Tại sao điều này lại xảy ra?
Làm việc cho tôi trong jsFiddle http://jsfiddle.net/sERhZ/ Có thể đã xảy ra sự cố với html hoặc thậm chí là thiết lập của bạn? –
Trên thực tế, với các trình xử lý, một trình xử lý được áp dụng trực tiếp cho biểu mẫu nên (và không) kích hoạt trước. Đây có phải là mã hoàn chỉnh của bạn không? Có bất kỳ lỗi nào trong bảng điều khiển trình duyệt không? – tvanfosson
Tôi đặt cược bạn có 'return false' trên bộ xử lý đầu tiên ngăn không cho người thứ hai bắn. Tôi có đúng không? – gdoron