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