[javascript] Reload d'un div de fichier php

Reload d'un div de fichier php [javascript] - HTML/CSS - Programmation

Marsh Posté le 25-02-2008 à 20:52:21    

Bonjour à tous,
 
J'aimerais pourvoir recharger une page php inclue dans une balise div sur ma page principale en cliquant sur un lien ou sur un bouton.
De plus j'aimerais pouvoir passer à ma page php dans le div un paramètre.
 
Je pensais utiliser une fonction javascript du tyle document.getElementById('Contenu').location.href('menu.htm') mais cela ne fonctionne pas.
 
Quelqu'un peut-il m'éclairer svp  :(

Reply

Marsh Posté le 25-02-2008 à 20:52:21   

Reply

Marsh Posté le 25-02-2008 à 20:56:09    

Déjà quelle est l'objectif de ce div : est-ce tout le contenu de la page, ou est-ce juste un p'tit truc genre un widget ?

Reply

Marsh Posté le 25-02-2008 à 20:57:35    

C'est juste un pti truc.
 
En fait c'est un pti bout de javascript qui avec 2 colonnes ou je fait des cliquer glisser.

Reply

Marsh Posté le 25-02-2008 à 21:00:25    

Alors un élément JS n'a pas de propriété location. Ce qu'il te faut, c'est décrouvrir le merveilleux monde de l'AJAX.
 
Donc en JS, faire une requête au serveur, et remplacer le contenu de la div par ce que le serveur t'as envoyé. Regarde déjà de ce côté

Reply

Marsh Posté le 25-02-2008 à 21:12:09    

Oki,
 
J'avais déjà cherché de ce coté là mais je ne sais pas comment récupérer des informations revenans du serveur.
J'arrive a générer la requette Xmlhttprequest mais en retour je fais quoi ?

Reply

Marsh Posté le 25-02-2008 à 21:17:45    

en fait je n'ai pas réellement besoin de faire une requete.
Je veux juste appeler une page avec un paramètre dans un cadre sur ma page principale.

Reply

Marsh Posté le 25-02-2008 à 21:18:56    

thekingsky a écrit :

Je veux juste appeler une page avec un paramètre dans un cadre sur ma page principale.


Donc il te faut une requête :D N'oublie pas le fonctionnement du protocole HTTP, tout nécessite une requête

Reply

Marsh Posté le 25-02-2008 à 21:21:52    

Certe il me faut une requete mais c'est ma page php que je vais inclure qui va le faire.
Je vois pas trop comment réaliser ce que je veux faire. Du JS ok mais comment ? :(

Reply

Marsh Posté le 25-02-2008 à 21:22:57    

Justement, t'es complètement obligé de passer par XmlHttpRequest. Tu requestte ta page PHP, et tu modifies le contenu du div (via la propriété innertHTML) par le résultat du XHR

Reply

Marsh Posté le 25-02-2008 à 21:24:20    

Haaaa je commence à comprendre le truc :)
 
MAis je connaissais pas le innert(HTML) c'est pour sa :) tu peux me le décrire vite fait stp ? comment ca s'utilise et comment ca marche ?

Reply

Marsh Posté le 25-02-2008 à 21:24:20   

Reply

Marsh Posté le 25-02-2008 à 21:27:02    

C'est juste une propriété de n'importe quel élément :

Code :
  1. document.getElementById('madiv').innerHtml = '<p>Machin</p>';


Donc y'a juste à lui balancer le résultat d'un XmlHttpRequest

Reply

Marsh Posté le 25-02-2008 à 21:29:55    

Donc le résultat d'un XmlHttpRequest peut etre une page html généré par du php ? Je savais pas ca non plus :)
 
Comment je récupère la réponse ? J'ai déjà un bout de code qui récupère une réponse :

Code :
  1. xhr_object.onreadystatechange = function() {
  2.      if(xhr_object.readyState == 4) {
  3.   alert("Donnée(s) modifié(s)" );
  4.   window.location.replace("toto.php" );
  5.    }
  6. }


Reply

Marsh Posté le 25-02-2008 à 21:32:18    

Le mieux c'est de l'utiliser au format texte, et que le PHP génère juste le contenu de la div nécessaire. Tu fais ta requête, tu récupère le résultat (via la propriété responseText de xhr_object, et tu l'insère dans la div via innerHTML

Reply

Marsh Posté le 25-02-2008 à 21:34:57    

ok cool :) J'ai compris
 
Je testerais et je reviens si ca marche pas ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed