Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/05/2008, 15h48   #1
Invité régulier
 
Inscription : mai 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 74
Points : 7
Points : 7
Par défaut Pbm 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 :
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 :
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!!!
clara1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2008, 16h38   #2
Invité régulier
 
Inscription : mai 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 74
Points : 7
Points : 7
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 :
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 :
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>
clara1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h30.


 
 
 
 
Partenaires

Hébergement Web