Почему событие отправки формы не запускается (jQuery)? - PullRequest
6 голосов
/ 12 февраля 2012

У меня есть форма + макет, например, так:

<form ...>
    <div id="editor">
        [form html]
        <input type="submit" value="Submit form" />
    </div>
</form>

И следующий javascript:

$(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
    });
});

Эта форма не загружается через ajax. Когда страница загружается, в первом диалоговом окне появляется сообщение «1». Однако при отправке формы срабатывает только одно предупреждение - то, которое запускает отправку для всех форм в документе.

Почему это случилось?

Ответы [ 2 ]

7 голосов
/ 12 февраля 2012

Работает .Происходит что-то еще, что мешает срабатыванию второго предупреждения.

0 голосов
/ 12 февраля 2012

Ваш селектор форм неправильный.

Попробуйте и сделайте это

$("form").on('submit', function() {

Уверен, это должно работать

На самом деле, если через ajax ничего не загружаетсяили динамически через JavaScript

Вы можете просто сделать

$("form").submit(function() {

РЕДАКТИРОВАТЬ

Поцарапать мой выше.Не видел, чтобы вы установили значение формы.Проверьте http://jsfiddle.net/s3fvM/1/. Кажется, работает нормально для меня.оба стреляют и предупреждают.

...