jQuery — исчезает при вызове страницы ajaxForm()

#jquery

#jquery

Вопрос:

У меня есть этот скрипт, который открывает новую страницу внутри диапазона:

 $(document).ready( function() {
            $('#botao').click( function() {
                $('#pesquisar').ajaxForm({
                    type: 'POST', 
                    target: '#resultado'
                });
            });
        });
  

Я хочу, чтобы новая страница исчезла, я пытался установить fadein(), но безуспешно. Как мне это сделать?

Ответ №1:

Я думаю, что обратные вызовы beforeSubmit и success должны попасть туда. Что-то вроде этого:

 $('#pesquisar').ajaxForm({
    type: 'POST', 
    target: '#resultado',
    beforeSubmit: function() { $('#resultado').css('display', 'none'); },
    success: function() { $('#resultado').fadeIn(); }
});
  

beforeSubmit Обратный вызов вызывается непосредственно перед отправкой формы и скрывается #resultado при подготовке к исчезновению. Затем ajaxForm следует ввести ответ #resultado и вызвать success обратный вызов; успешный обратный вызов выполняет fadeIn .

У меня нет удобной ajaxForm настройки, поэтому я не могу это протестировать, но я почти уверен, что описанное выше сработает.

Комментарии:

1. Я пробовал здесь, но это не сработало, страница не исчезает, она просто появляется =/

2. @onildo: Что произойдет, если fadeIn(1000) замедлить его работу? Вы также могли бы проверить содержимое #resultado в обработчике успешного выполнения, чтобы убедиться, что у меня правильный порядок обратного вызова, но скрытие «отправить 5» в этом примере указывает, что это должно сработать.

3. я использовал #resultado в качестве span, когда я изменил его на div, и это сработало просто отлично, спасибо

4. @onildo: Круто, я предположил, что #resultado это блочный элемент, мне следовало бы знать лучше, чем делать предположения 🙂

5. Эта страница является страницей поиска, а форма является результатом. Я хочу показать страницу редактирования, используя тот же метод, но это будет просто одна страница внутри другой страницы внутри другой страницы, есть ли какой-нибудь способ заставить новую страницу «перезаписать» старую?