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