jQuery .submit () не будет выполняться независимо от того, что - PullRequest
0 голосов
/ 09 марта 2011

У меня есть страница, которая содержит две формы, каждая с уникальным идентификатором. Мне нужно, чтобы страница исчезала при отправке любой из форм. Однако это не сработает.

Вот код

$(document).ready(function(){
        $('#container').fadeOut(0);
        $('#container').fadeIn(500);
    });

    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });

Как вы можете видеть из кода, он должен показывать предупреждение, но это не так, и он даже не исчезает со страницы. Мои формы содержат текстовый ввод, который установлен только для чтения, и кнопку отправки.

Заранее спасибо.

Ответы [ 4 ]

1 голос
/ 09 марта 2011

Попробуйте это:

$(document).ready(function(){
    $('#container').fadeOut(0);
    $('#container').fadeIn(500);

    $('form').submit(function(e){
        e.preventDefault();
        var form = this;
        $('#container').fadeOut(500, function() { 
            form.submit();
        });       
    });
});

Привязка для отправки была вне документа готова и, возможно, не удалось найти тег формы при выполнении.

Пример jsfiddle - http://jsfiddle.net/KbaG3/

0 голосов
/ 09 марта 2011

Попробуйте:

jQuery(function($){
    $('#container').hide().fadeIn(500);

    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });
});

Я думаю, что это более чистый код, а также нет доказательств конфликта.

0 голосов
/ 09 марта 2011

Если вы не включили этот JS внизу страницы, вам следует переместить код $(form).... в блок $(document).ready()

$(document).ready(function(){
        $('#container').fadeOut(0);
        $('#container').fadeIn(500);


    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });
});

Это потому, что ваш элемент не существует,вы привязываете событие к этому

0 голосов
/ 09 марта 2011

Вам, вероятно, следует переместить функцию регистрации события отправки внутрь функции готовности документа, чтобы вы могли быть уверены, что DOM готов перед регистрацией функции.

Если это не поможет, посмотрите, есть лилюбые ошибки JavaScript, появляющиеся на странице, которые могут остановить выполнение.

...