Частичное обновление страницы jQuery после отправки формы - PullRequest
4 голосов
/ 18 марта 2010

При использовании jQuery для отправки формы можно ли разместить полученную страницу (после отправки) внутри другого элемента HTML?

Я постараюсь прояснить это. До сих пор я использовал методы обратного вызова, которые, среди прочего, делают

document.forms['form'].submit();

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

var newContent = jQuery('#form').submit();
jQuery('#div').load(newContent);

Однако, похоже, это не работает, поскольку страница все еще полностью обновлена. Содержание корректно, однако поведение выглядит точно так же, как и раньше - поэтому я не совсем уверен, возможно ли то, что я хочу, с jQuery. Любые подсказки и указатели будут полезны.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 18 марта 2010

Что вам нужно сделать, это использовать один из методов ajax, чтобы опубликовать вашу форму, и внедрить вывод в элемент в обратном вызове success. Например:

$("#submit").click(function() {
    $.post($("#form").attr("action"), $("#form").serialize(), function(html) {
        $("div.result").html(html);
    });
    return false; // prevent normal submit
});

Взгляните на $.post и $.ajax

1 голос
/ 18 марта 2010

Вопрос не понятен. Потратьте больше времени на изучение jquery ajax api, чтобы найти лучший способ обновления элемента dom с помощью jquery ajax.

Если вы говорите о том, что привязки событий не работают после смены dom из-за вызова ajax. См. Jquery live / die методы в событиях API.

...