Système de cache pour script de liens changeant le contenu d'une div.

Système de cache pour script de liens changeant le contenu d'une div. - HTML/CSS - Programmation

Marsh Posté le 10-12-2010 à 17:24:52    

Bonjour, bonjour, je sais que le titre parait un peu vague, mais je vais vous expliquer le fin fond de ma pensée.
Aujourd'hui je suis en train de créer un site pour mon serveur privé World of Warcraft, j'ai donc opté pour un codage unique, et par conséquent j'ai fait en sorte que la page ne se recharge plus, et que les modules s'affichent sans faire recharger la page. Mais voila, malheureusement mon script d'inscription nécessite une validation par une balise <form> ce qui fait que dés que je recharge, je revient au point de départ, ce qui empêche au script de s'executer normalement. Ayant pris ce script sur le net, je me demandais si quelqu'un ici pourrait m'orienter vers un tutoriel pour faire en sorte que les liens javascript insert un contenu via un système de cache, ou transformer le script que je possède déja.
 

Citation :


var ajaxdestination="";
 
function getdata(what,where) { // get data from source (what)
 try {
   xmlhttp = window.XMLHttpRequest?new XMLHttpRequest():
    new ActiveXObject("Microsoft.XMLHTTP" );
 }
 catch (e) { /* do nothing */ }
 
 document.getElementById(where).innerHTML ="<div id='text-haut-contenu'><div id='text-titre-contenu'>Chargement du module :</div></div><div id='text-milieu-contenu'><div class='text-text-contenu'><center><img src='images/icones/ajax-loader.gif'></center></div></div><div id='text-bas-contenu'></div>";
// we are defining the destination DIV id, must be stored in global variable (ajaxdestination)
 ajaxdestination=where;
 xmlhttp.onreadystatechange = triggered; // when request finished, call the function to put result to destination DIV
 xmlhttp.open("GET", what);
 xmlhttp.send(null);
  return false;
}
 
function triggered() { // put data returned by requested URL to selected DIV
  if (xmlhttp.readyState == 4) if (xmlhttp.status == 200)  
    document.getElementById(ajaxdestination).innerHTML =xmlhttp.responseText;
}
 


 
Merci d'avance pour vos futures aides.

Reply

Marsh Posté le 10-12-2010 à 17:24:52   

Reply

Marsh Posté le 10-12-2010 à 18:11:18    

C'est un peu un grand classique ca, ta balise <form> est validée par un <input> de type "submit", duquel tu appelles ta fonction getdata, c'est bien ca? Il suffit de rajouter "return false;" après l'appel de getdata.
ex: <input type="submit" value="Submit" onclick="getdata(pipi,popo); return false;"/>


Message édité par lasnoufle le 10-12-2010 à 18:11:35

---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 11-12-2010 à 02:38:06    

J'aurai aimé ! Mais non, avec ce procédé, la requête ne s'effectue toujours pas ! et c'est ca qui pose problème !

Reply

Marsh Posté le 11-12-2010 à 13:02:13    

Dans le premier post tu dis que le probleme c'est que la page se recharge quand tu valides ton <form>, maintenant tu dis que ta requete s'exécute pas, faudrait savoir, c'est quoi le problème?
 
Si maintenant la page se recharge pas, ben t'as déjà avancé. Maintenant si ta "requete" ne s'exécute pas, c'est un second problème. A voir comme ca, le script que tu as copié en premier post est pourri au possible, si tu veux faire de l'AJAX (c'est ce que fait ton script) mais que tu n'y connais rien, je te conseille d'utiliser un truc comme JQuery qui fera abstraction de tout le caca technique. Bon après, j'connais pas trop JQuery et le JS/HTML ca me gonfle donc j'vais pas pourvoir t'aider beaucoup plus.


---------------
C'était vraiment très intéressant.
Reply

Sujets relatifs:

Leave a Replay

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