IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

adaptation code load_page ajax et js


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 74
    Par défaut adaptation code load_page ajax et js
    Bonjour, voila ma situation actuelle:

    jai une page principale avec un menu flash deroulant et selon les boutons il y a un code , par exmple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    on (press,release){
    	getURL ("javascript:load_page('?contenu/son/home_cinema')", "_top");
    	}
    Ce code est traité dans un fichier ajax.js inclu dans ma page principal.
    Ce fichier ajax.js contient la fonction pour le xhr:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    // JavaScript Document
    /*************************************************
    	Fonction de definition de l'object xhr
    **************************************************/
    function new_xhr(){
    	var xhr_object = null;
    	if(window.XMLHttpRequest) // Firefox et autres
    	   xhr_object = new XMLHttpRequest();
    	else if(window.ActiveXObject){ // Internet Explorer
    	   try {
                    xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
                }
    	}
    	else { // XMLHttpRequest non supporté par le navigateur
    	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    	   xhr_object = false;
    	}
    	return xhr_object;
    }
    et une fonction pour charger la page ne recupérant via GET le nom du "fichier" à charger:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    /*****************************************************
    Fonction qui va recharger le contenu
    ******************************************************/
    function load_page(select) {
    
    doAjaxAction('corps','select.split('?')[1]+".php"'); // Met la ResponseText brute dans l'élément MonElement.
    doAjaxAction('','select.split('?')[1]+".php"'); // Exécute mon code JS.
    var xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest
    xhr2.onreadystatechange = function(){
    if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini
    if(xhr2.status != 200){//Message si il se preoduit une erreur
    document.getElementById("corps");
    document.getElementById("corps").innerHTML ="Error code " + xhr2.status;
    } else {//On met le contenu du fichier externe dans la div "content"
    document.getElementById("corps");
    alert("Reponse script externe:" +xhr2.responseText);
    var tmp = xhr2.responseText;
    document.getElementById("corps").innerHTML= tmp;
    }
    }
    }
    xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe
    xhr2.send(null);
    }

    Cependant ma page de l'exmple home_cinema contient du js car elle contient des listes deroulantes liées.
    J'ai donc une fonction mise dans ajax.js qui sert à lire le code js, la voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    /****************************************
    fonction pour interpreter js
    *****************************************/
     
    function doAjaxAction(Ele,File)
    {
    var myajax = new createAjaxObject();
    myajax.open("GET", File, true);
    myajax.onreadystatechange = function()
    {
    if (myajax.readyState == 4 && myajax.status == 200)
    {
    if ( document.getElementById(Ele) )
    {
    document.getElementById(Ele).innerHTML = myajax.responseText;
    }
    else
    {
    eval(myajax.responseText);
    }
    }
    }
    myajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    myajax.send(null);
    }
    Cependant elle aussi se charge de charger le contenu, je voudrais donc l'adapter pour quelle charge l contenu html et js des page et que le "fichier" a charger soit recupéré de la même sorte que mon load_page précédent seulement la c'est chaud!

    Comment procédé? merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 74
    Par défaut
    Juste j'ai reussi à adapter les scripts, seul problème le fichier ne s'ouvre plus quand je clic sur le bouton je m'explique, voila ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    /****************************************
    fonction pour interpreter js
    *****************************************/
     
    function doAjaxAction(Ele,File)
    {
    var myajax = new createAjaxObject();
    myajax.open("GET", File, true);
    myajax.onreadystatechange = function()
    {
    if (myajax.readyState == 4 && myajax.status == 200)
    {
    if ( document.getElementById(Ele) )
    {
    document.getElementById(Ele).innerHTML = myajax.responseText;
    }
    else
    {
    eval(myajax.responseText);
    }
    }
    }
    myajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    myajax.send(null);
    }
     
     
    /*****************************************************
    Fonction qui va recharger le contenu
    ******************************************************/
    function load_page(select) {
    var file=select.split('?')[1]+".php";
    alert(file);
    doAjaxAction("corps",file);
    doAjaxAction("",file);
    /*.....Partie en commentairesvar xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest
    xhr2.onreadystatechange = function(){
    if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini
    if(xhr2.status != 200){//Message si il se preoduit une erreur
    document.getElementById("corps");
    document.getElementById("corps").innerHTML ="Error code " + xhr2.status;
    } else {//On met le contenu du fichier externe dans la div "content"
    document.getElementById("corps");
    alert("Reponse script externe:" +xhr2.responseText);
    var tmp = xhr2.responseText;
    document.getElementById("corps").innerHTML= tmp;
    }
    }
    }
    xhr2.open("GET", file, true);//Appel du fichier externe
     
    xhr2.send(null);
    */
    }

    Le alert(file) du load_page maffiche bien le bon fichier soit 'contenu/home_cinema.php' mais ne s'ouvre pas apres, pourtant la fonction doAjaxAction a un myajax.open("GET", file, true) quel est le pbm?

  3. #3
    Membre très actif Avatar de Sacha999
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Par défaut
    a quoi ressemble ton site? tu as un lien sur internet?

Discussions similaires

  1. Adapter Code Delphi 7 à Delphi 2009
    Par mmsalem dans le forum API, COM et SDKs
    Réponses: 12
    Dernier message: 18/03/2009, 17h42
  2. adaptation code treeview
    Par clemasson dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/05/2008, 16h44
  3. Erreur de code avec Ajax
    Par sadkat dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 14/02/2008, 14h55
  4. [AJAX] ie et l'ajout de code par ajax
    Par cybersplash dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/04/2007, 11h26
  5. [AJAX] Code tuto Ajax fonctionne pas sous FF, mais IE et OP sont OK
    Par hugo69 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 08/01/2007, 21h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo