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 :

[AJAX] Fonctionnement js d'une page inclue via ajax


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 [AJAX] Fonctionnement js d'une page inclue via ajax
    Bonjour,
    voila j'imagine que ce problème a du aparaitre maintes et maintes fois, mais je début en ajax donc cela veut que j'ai un niveau trés faible en javascript bien que je comprenne le code, j'aimerai savoir comment interpréter le code js des pages inclue via ajax, où le placer ( cela risque d'etre mon souci principal) et comment l'adapter pour fonctionner...
    Merci d'avance.

    Voici mon code permettant d'inclure des pages pour recharger que des parties de pages principales:


    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
    // 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;
    }
    /*****************************************************
    	Fonction qui va recharger le contenu
    ******************************************************/
    function load_page(select) {
    	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").innerHTML ="Error code " + xhr2.status;
    			} else {//On met le contenu du fichier externe dans la div "content"
    				document.getElementById("corps").innerHTML = xhr2.responseText;
    			}
    		} 
    	}
    	xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe
    	xhr2.send(null);
    	}
    et voila enfin mon code js dans ma page inclue qui n'est pas lu:
    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
    <script type="text/javascript">
    function xmlhttp()
       {  var x;
          try         {  x = new ActiveXObject("Microsoft.XMLHTTP");   }
          catch (e)   {  try         {   x = new ActiveXObject("Msxml2.XMLHTTP");   }
                         catch (e)   {   try         {   x = new XMLHttpRequest();   }
                                         catch (e)   {   x=false;   }
                                     }
                      }
          return x;
       }
     
     
    function appel()
       {   var xml = xmlhttp();
          if(!xml)
                 {   alert("XmlHttpRequest non supporté");   }
          else   {   xml.onreadystatechange = function()
                     {   if(xml.readyState==4)
                         {   var opt=xml.responseText.split("\t");
                             tb2.length=0;
                             for ( var n=1;n<opt.length;n++ )
                             {   tb2.length++;
                                 tb2.options[tb2.length-1].text=opt[n];
                             }
                         }
                      }
    				  alert("*"+tb1.options[tb1.selectedIndex].text+"*");
                      xml.open("GET", "Ajax2.php?tbl2="+tb1.options[tb1.selectedIndex].text, true);
                      xml.send(null);
                 }
       }  
    </script>

    Merci beaucoupp!!!

  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
    Une idée? je sais que j'ai mis bcp de code mais je préfère être le plus explicie possible, voila ce que j'ai tenté rajouté mais erf sa ne marche toujours pas:
    dans mon ajax.js qui sert à charger les pages:

    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
    // JavaScript Document
    /*************************************************
    	Fonction de definition de l'object xhr
    **************************************************/
    function new_xhr(){
    	var global=this;
    	alert('var global créé');
    	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;
    }
    /*****************************************************
    	Fonction qui va recharger le contenu
    ******************************************************/
    function load_page(select) {
    	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
    				var c = document.getElementById("corps");
    				c.innerHTML ="Error code " + xhr2.status;
    			} else {//On met le contenu du fichier externe dans la div "content"
    				var c = document.getElementById("corps");
    				c.innerHTML = xhr2.responseText;
    				var allscript = c.getElementsByTagName("script");
        					for(var i=0;i< allscript.length;i++){
          						eval(allscript[i].text);
       						}
    						alert(typeof(xmlhttp));//return function
    			}
    		} 
    	}
    	xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe
    	xhr2.send(null);
    	}
    dans ma page fille dés lors d'un appel de fonction js:
    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
    <script type="text/javascript">
    function xmlhttp()
    {
    	global.eval();  
       	var x;
          try         {  x = new ActiveXObject("Microsoft.XMLHTTP");   }
          catch (e)   {  try         {   x = new ActiveXObject("Msxml2.XMLHTTP");   }
                         catch (e)   {   try         {   x = new XMLHttpRequest();   }
                                         catch (e)   {   x=false;   }
                                     }
                      }
          return x;
       }
     
     
    function appel()
       { 
       	global.eval(); 
        var xml = xmlhttp();
          if(!xml)
                 {   alert("XmlHttpRequest non supporté");   }
          else   {   xml.onreadystatechange = function()
                     {   if(xml.readyState==4)
                         {   var opt=xml.responseText.split("\t");
                             tb2.length=0;
                             for ( var n=1;n<opt.length;n++ )
                             {   tb2.length++;
                                 tb2.options[tb2.length-1].text=opt[n];
                             }
                         }
                      }
    				  alert("*"+tb1.options[tb1.selectedIndex].text+"*");
                      xml.open("GET", "Ajax2.php?tbl2="+tb1.options[tb1.selectedIndex].text, true);
                      xml.send(null);
                 }
       }  
    </script>

Discussions similaires

  1. Jquery ne fonctionne pas dans une page ajax/php
    Par enamorada dans le forum jQuery
    Réponses: 11
    Dernier message: 13/03/2013, 09h44
  2. [AJAX] Accentuation avec pages inclues via ajax
    Par clara1 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/05/2008, 12h49
  3. Non exécution du script js dans page inclue via ajax
    Par clara1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/05/2008, 11h10
  4. Peut-on créer une page internet via JBuilder?
    Par Xavier dans le forum JBuilder
    Réponses: 2
    Dernier message: 17/02/2005, 21h21

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