2010-08-06 16 views
0

Une question qui n'a pas sauté ici avant:Comment démarrer réellement CHARGER une page (dans une fenêtre modale/de boîte de dialogue jQuery) APRÈS avoir cliqué sur un bouton?

Comment commencer à télécharger/charger vraiment une page (html ou php) à l'intérieur d'une fenêtre modale jQuery/dialogue, après un lien ou un bouton est cliqué? Voir, actuellement je blieve que tous les objets .load() url DOIVENT être à l'intérieur de la page et la charge est en fait juste les ouvre, ne commencent vraiment pas à extraire des données. ai-je raison?

Je pensais peut-être que je pourrais y parvenir si je mets un iframe dans la fenêtre modale, de cette façon peut-être que seul le contenu de l'iframe serait chargé lorsque la boîte de dialogue s'ouvre. là encore, je suis assez sûr que le serveur lit le document avec iframe src = "page.php" et les charge juste sans le montrer encore ...

Mais ce que je veux, c'est que le contenu ne soit pas chargé, et seulement Puis, il clique sur, il commence à obtenir les fichiers et les images du serveur. En d'autres termes: je veux une fenêtre de chiot à l'ancienne, mais à l'intérieur de la fenêtre modale/de boîte de dialogue jQuery/UI.

Merci beaucoup pour votre sagesse et votre aide. Ive été coincé achieveing ​​ce depuis des siècles Salut de la Hollande, Sammy

Répondre

0

Je suggère également de lire quelque chose « combat les principes de ajax, mais je vais essayer de répondre à vos questions, même si vous avez déjà fait.

Tous les appels à jQuery.load (...) doivent être effectués sur un élément existant de votre page, disons un élément div vide. La fonction load() récupère ensuite de manière asynchrone les données de l'url en démarrant une requête HTTP GET réelle en arrière-plan, en téléchargeant tout ce qui est retourné et en collant toutes les données récupérées (généralement le contenu html) dans l'élément div mentionné. Cela modifie la source de la page alors que la page est déjà visible et communément appelée ajax. Si le contenu html est en effet collé et contient des références à des images, le navigateur le reconnaîtra et émettra plus de requêtes GET pour charger les ressources image comme cela se ferait sur une page html classique.

Pour un petit exemple de travail see here, si je vous ai bien compris, cela pourrait être exactement ce que vous voulez réaliser.

0

Blockquote Ouvrir comme dialogue

<script type="text/javascript"> 
$(function(){ 
    $('a.ajax').click(function() { 
     var url = this.href; 
     var dialog = $('<div style="display:hidden"></div>').appendTo('body'); 
     // load remote content 
     dialog.load(
      url, 
      {}, 
      function (responseText, textStatus, XMLHttpRequest) { 
       dialog.dialog(); 
      } 
     ); 
     //prevent the browser to follow the link 
     return false; 
    }); 
}); 
</script>