2010-03-18 12 views
4

Lors de l'utilisation de jQuery pour soumettre un formulaire, est-il possible de placer la page résultante (après l'envoi) dans un autre élément HTML?Actualisation partielle de la page jQuery après l'envoi d'un formulaire

Je vais essayer de rendre cela plus clair. Jusqu'à maintenant, je l'ai utilisé les méthodes de rappel entre autres font un

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

chaque fois qu'un formulaire a été mis à jour avec de nouvelles informations et doit être réactualisé. Cependant, cela entraîne une actualisation complète de la page. Je mise en œuvre partielle Rafraîchir la page en utilisant jQuery et de la pensée d'utiliser quelque chose comme

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

Cependant, cela ne semble pas fonctionner comme la page est encore complètement rafraîchi. Le contenu est correct, mais le comportement semble être exactement le même que précédemment - donc je ne suis pas vraiment sûr si ce que je veux est réellement possible avec jQuery. Tous les conseils et les pointeurs seraient utiles.

Merci.

Répondre

4

Ce que vous devez faire est d'utiliser l'une des méthodes ajax pour publier votre formulaire et injecter la sortie dans un élément dans le rappel success. Par exemple:

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

Jetez un oeil à $.post et $.ajax

1

Question est pas claire. Passez plus de temps à comprendre le jquery ajax api pour trouver une meilleure façon de mettre à jour l'élément dom en utilisant jquery ajax.

Si vous parlez des liaisons d'événements qui ne fonctionnent pas après un changement de dom dû à un appel ajax. Reportez-vous à Jquery live/die méthodes dans les événements api.