jQuery - отправьте форму через AJAX и поместите страницу результатов в div ...? - PullRequest
4 голосов
/ 26 апреля 2010

Я использую форму jQuery (http://jquery.malsup.com/form/), чтобы получить данные для отправки в форму. Можно ли без обновления поместить страницу результатов, сгенерированную формой, в div на странице

Любой совет приветствуется!

1 Ответ

11 голосов
/ 26 апреля 2010

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

$("form").submit(function() {
    $.post($(this).attr("action"), $(this).serialize(), function(data) {
        $("#someDiv").html(data);
    });
    return false; // prevent normal submit
});

Если вы настаиваете на использовании jQuery Form Plugin - что НЕ рекомендуется - вы можете установить опцию target для селектора элемента (ов), который вы хотите заполнить:

// prepare Options Object 
var options = { 
    target:     '#divToUpdate', 
    url:        'comment.php', 
    success:    function(data) { 
        alert('Thanks for your comment!'); 
    } 
}; 

Для получения дополнительной информации смотрите http://jquery.malsup.com/form/#options-object.

Чтобы предотвратить обновление, просто убедитесь, что событие onsubmit формы возвращает false:

<form method="post" onsubmit="return false">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...