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 29/08/2011, 22h35   #1
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Par défaut Mon code ne fonctionne pas sous IE7

Bonjour,

J'ai recopié le script qui devrait fonctionner sous IE7 !

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
function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr
			}
 
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go(){
				var xhr = getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						leselect = xhr.responseText;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById("code").innerHTML = leselect;
					}
				}
 
				// Ici on va voir comment faire du post
				xhr.open("POST","ajax.php",true);
				// ne pas oublier ça pour le post
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id de l'auteur
 
				p = document.getElementById('p').value;
 
				sel = document.getElementById('theme');
				code = sel.options[sel.selectedIndex].value;
				xhr.overrideMimeType("text/html; charset=ISO-8859-1");
				xhr.send("theme="+code+"&p="+p);
			}

Et bien ça ne fonctionne pas ! Ras le bol de IE mais bon, certains collègues l'utilisent encore ! Par contre c'est Top sous FF !
Que dois je faire pour que ça fonctionne ? Apparemment, c'est dans la déclaration de la variable avec

Code :
1
2
3
4
5
6
7
8
9
if(window.XMLHttpRequest) // Firefox et autres
                   xhr = new XMLHttpRequest(); 
                else if(window.ActiveXObject){ // Internet Explorer 
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
que ça foire !

Merci
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 07h18   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 260
Points : 7 260
Bonjour et Bienvenue sur Developpez .

Peut-on voir le code HTML de la page ?

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 08h04   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Citation:
Et bien ça ne fonctionne pas !
Mouais... avec ce type de diagnostic, difficile de t'aider efficacement...

Citation:
Apparemment, c'est dans la déclaration de la variable avec
Rien à voir, IE7 implémente en natif XMLHttpRequest, tu ne passes pas dans le else.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 23h01   #4
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Le code HTML ?
dans ma page, j'appelle le script go() par un OnSelect.
Par contre, je ne vois pas pourquoi déclarer le ActiveXObject dans le else puisque justement, ce else sert lorsque le navigateur ne reconnait pas la requete !
A moins que je me trompe !
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 23h03   #5
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Par défaut Diagnostic

Juste que dans la barre d'état de IE, j'ai un erreur de script.
Je ne comprends pas plus car aà priori tous les développeurs utilisent ce script en déclaration de XObjet !
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 23h14   #6
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Voici le script ajax.php qui est appelé

Code php :
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<? session_start() ; 
 
 $code= $_POST['theme'] ;
 
 
 if (isset($_POST['p'])) {$p= $_POST['p'] ; 
 
include("session/connexion_bd.php") ;
 echo"<table width='100%' border='0' cellpadding='2' cellspacing='0' >
 
 
 
     <tr><td width='25'>N°</td><td width='350'>Enoncé</td><td width='120'>Question 1</td><td  width='120'>Question 2</td><td width='120'>Question 3</td><td width='120'>Question 4</td><td colspan='2'  >&nbsp;</td></tr>
 
 " ;
$sql = "SELECT * FROM exercice WHERE theme='$code'  ORDER BY numero " ;
$req = mysql_query($sql) or die('Erreur SQL !	"'.$sql.'"'.mysql_error());
$j=0;
while( $data= mysql_fetch_array($req) ) 
{ 
$theme = $data['theme'] ;  $id = $data['id'] ; 
 
if ( $data['numero'] == "100") { $numero="C" ;  } 
 
if ( $data['numero'] == "200") { $numero="M" ;  } 
 
else{ $numero = $data['numero'] ; }
 
 
 $texte = stripslashes(htmlentities($data['texte'])) ;  $q1 = $data['q1'] ;$r1 = $data['r1'] ;
  $q2 = $data['q2'] ;$r2 = $data['r2'] ;
   $q3 = $data['q3'] ;$r3 = $data['r3'] ;
    $q4 = $data['q4'] ;$r4 = $data['r4'] ; $url = $data['url_telechargement'] ;
 
 
 
 
 
 
	if ($j%2==1) {$bg='#EEEEEE'; $cl='theme' ; } else { $bg='#DDDDDD'; $cl='theme2' ;}
echo" <tr><td colspan='8'>
<form name='form1' method='post' action='actions.php?a=5&p=$p' class='formulaire' enctype='multipart/form-data'>
<table width='100%' border='0' cellpadding='0' cellspacing='0' >
<tr bgcolor='$bg'>
<input type='hidden' name='id' value='$id' />
    <td><input type='text' name='numero' value='$numero' size='3' class='$cl' /></td>";
 
	  	if($url=='') {echo"<td><textarea name='texte' class='$cl'>$texte</textarea></td>" ; } else {echo"
 
	<td><strong>FICHIER :</strong> <input type='text' name='url' value='$url' size='20' class='$cl' /></td>" ; }
 
 
	echo" <td><input type='text' name='q1' value='$q1' size='20' class='$cl' /><br>
			 <input type='text' name='r1' value='$r1' size='20' class='$cl' /></td>
			    <td><input type='text' name='q2' value='$q2' size='20' class='$cl' /><br>
				<input type='text' name='r2' value='$r2' size='20' class='$cl' /></td>
				 <td><input type='text' name='q3' value='$q3' size='20' class='$cl' /><br>
				  <input type='text' name='r3' value='$r3' size='20' class='$cl' /></td>
			   <td><input type='text' name='q4' value='$q4' size='20' class='$cl' /><br>
			  <input type='text' name='r4' value='$r4' size='20' class='$cl' /></td>" ; 
	if($url=='') {	 
 
 $sqlc = "SELECT * FROM themes WHERE code='$theme' "; 
  $reqc = mysql_query($sqlc) or die('Erreur SQL !<br>'.$sqlc.'<br>'.mysql_error());
 $datac= mysql_fetch_array($reqc) ; 
 $idc = $datac['id'] ; 	
 
echo"<td><a href='pagevisu.php?id=$idc&th=$theme&e=$numero' target='_blank'><img src='images/oeil_visu.png' title='Visualiser le document' border='0' /></a></td>
<td><input src='images/actualiser.png'  type='image' name='modif' title='modifier les champs' /></td>"; }
 
 else
 
 { echo"<td><a href='pagevisu.php?id=$idc&th=$theme&e=$numero' target='_blank'><img src='images/oeil_visu.png' title='Visualiser le document' border='0' /></a></td>
 <td><a href='telechargement/$theme/$url' target='_blank'><img src='images/oeil.gif' title='Visualiser le document' border='0' /></a></td>"; }
 
echo"<td><a href='actions.php?a=6&p=$p&id=$id'><img src='images/poubelle.png' border='O' title='Supprimer le document' /></a></td> </tr></table></form></td></tr>" ; $j++ ; } 
echo"</table>"; } 
 
else { echo"<span class='pdf'>Choisir une prépa et une matière. Merci.</span>" ; }
 
 ?>
et le script php qui remplace la div "code" par le fichier ajax
 
<? 
 
if (isset($prepa)) { 
 
	      if( $prepa== "IDE2" )   {$sqla = "SELECT * FROM themes WHERE matiere='$matiere' AND prepa='IDE2' OR matiere='$matiere' AND prepa='AS'  "; }
 
  else  { $sqla = "SELECT * FROM themes WHERE matiere='$matiere' AND prepa='$prepa'  "; }
 
$reqa = mysql_query($sqla) or die('Erreur SQL !	"'.$sqla.'"'.mysql_error());
 $na= mysql_fetch_array($reqa) ;
 
 if ($na==0)  { echo"<span class='pdf'>Créer un th&egrave;me. Merci.</span>" ; }  else   {
 
 
?> <form name='form1' method='post' action='actions.php?a=5&p=<? echo $_GET['p'] ; ?>' class='formulaire' enctype='multipart/form-data'>
<table width="100%" border="0" cellpadding="2" cellspacing="0" >
  <tr>
  <td  colspan="2" align="right"></td>
 
    <td align="right"><strong>Choix du th&egrave;me</strong></td>
    <td colspan="6" align='left'>
    <input name="p" id="p" type="hidden" value="<? echo $_GET['p'] ; ?>" />
	<select name="theme" id="theme" onchange="go()">
   <option value=''>selectionnez un th&egrave;me</option>
	<?  $sql = "SELECT * FROM themes WHERE prepa= '$prepa' AND matiere ='$matiere'  " ;
$req = mysql_query($sql) or die('Erreur SQL !	"'.$sql.'"'.mysql_error());
while( $data= mysql_fetch_array($req) ) 
{ 
$titre = $data['titre'] ; 
$code = $data['code'] ;
 
echo"<option value='$code'>$titre</option>" ; }?>
 </select>
</td>
  </tr>
  <tr><td></td></tr>
</table>
 </form>
<div id="code"></div>

J'espère que ça va vous inspirer !
Merci
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 07h59   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Citation:
Envoyé par Phil_D
Et bien ça ne fonctionne pas !
Citation:
Envoyé par Phil_D
Juste que dans la barre d'état de IE, j'ai un erreur de script.
Tu crois pas que ça pourrait être utile de savoir ce qui ne fonctionne pas et quelle est l'erreur affichée ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 08h08   #8
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Par défaut Type d'erreur

En fait, lorsque je sélectionne une option dans mon select de la page gerer_doc.php, j'appèle le fichier ajax.php par la méthode POST grâce au script httprequest.js :

Sous FF, le fichier ajax.php s'ouvre et la balise div ='code' est remplacée par le contenu du fichier ajax.php

Sous IE, je fais la même action, mais le fichier ajax.php ne remplace pas la balise div ='code' et dans la barre d'état d'IE, il y a l'image d'erreur et Terminé. Rien de plus.

J'espère avoir été clair dans mon explication. ???
Merci
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 21h36   #9
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Lorsque je mets une alert("IE") dans mon code, sous IE, l'alert apparait dans l'emplacement pour FF et l'alert apparait avec FF. Je ne comprends vraiment rien !


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
 
 
   var xhr = null;
   function getXhr(){
	if(window.XMLHttpRequest)
	{ // Firefox et autres
	alert("FF") ;
	xhr = new XMLHttpRequest(); 
	}
	else if(window.ActiveXObject)
	{ // Internet Explorer 
	alert("IE") ; 
		try 
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
			catch (e) 
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else 
	{ // XMLHttpRequest non supporté par le navigateur 
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
			xhr = false; 
	}
	return xhr ;
}
Qui pourrait m'aider ? Merci beaucoup
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 07h09   #10
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 260
Points : 7 260
Bonjour,

Cette fonction d'instanciation d'un xhr est correct, le problème n'est pas là. Ton code php va générer, pourras-tu nous montrer ce code HTML généré?

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 08h01   #11
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Citation:
Envoyé par Phil_D
Lorsque je mets une alert("IE") dans mon code, sous IE, l'alert apparait dans l'emplacement pour FF et l'alert apparait avec FF. Je ne comprends vraiment rien !
Depuis la version 7, IE implémente nativement l'objet XMLHttpRequest. Donc à moins d'utiliser IE6, tu ne verras pas la bonne alerte.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 08h07   #12
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Voila le code du script ajax.php
ce script ajax.php devrait se mettre à la place de la balise <div id="code"></div> dans un fichier gerer_doc.php. Ça marche très bien sous FF mais pas sous IE.

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
<? session_start() ; 
 
 $code= $_POST['theme'] ;
 
 
 if (isset($_POST['p'])) {$p= $_POST['p'] ; 
 
include("session/connexion_bd.php") ;
 echo"<table width='100%' border='0' cellpadding='2' cellspacing='0' >
 
 
 
     <tr><td width='25'>N°</td><td width='350'>Enoncé</td><td width='120'>Question 1</td><td  width='120'>Question 2</td><td width='120'>Question 3</td><td width='120'>Question 4</td><td colspan='2'  >&nbsp;</td></tr>
 
 " ;
$sql = "SELECT * FROM exercice WHERE theme='$code'  ORDER BY numero " ;
$req = mysql_query($sql) or die('Erreur SQL !	"'.$sql.'"'.mysql_error());
$j=0;
while( $data= mysql_fetch_array($req) ) 
{ 
$theme = $data['theme'] ;  $id = $data['id'] ; 
 
if ( $data['numero'] == "100") { $numero="C" ;  } 
 
if ( $data['numero'] == "200") { $numero="M" ;  } 
 
else{ $numero = $data['numero'] ; }
 
 
 $texte = stripslashes(htmlentities($data['texte'])) ;  $q1 = $data['q1'] ;$r1 = $data['r1'] ;
  $q2 = $data['q2'] ;$r2 = $data['r2'] ;
   $q3 = $data['q3'] ;$r3 = $data['r3'] ;
    $q4 = $data['q4'] ;$r4 = $data['r4'] ; $url = $data['url_telechargement'] ;
 
 
 
 
 
 
	if ($j%2==1) {$bg='#EEEEEE'; $cl='theme' ; } else { $bg='#DDDDDD'; $cl='theme2' ;}
echo" <tr><td colspan='8'>
<form name='form1' method='post' action='actions.php?a=5&p=$p' class='formulaire' enctype='multipart/form-data'>
<table width='100%' border='0' cellpadding='0' cellspacing='0' >
<tr bgcolor='$bg'>
<input type='hidden' name='id' value='$id' />
    <td><input type='text' name='numero' value='$numero' size='3' class='$cl' /></td>";
 
	  	if($url=='') {echo"<td><textarea name='texte' class='$cl'>$texte</textarea></td>" ; } else {echo"
 
	<td><strong>FICHIER :</strong> <input type='text' name='url' value='$url' size='20' class='$cl' /></td>" ; }
 
 
	echo" <td><input type='text' name='q1' value='$q1' size='20' class='$cl' /><br>
			 <input type='text' name='r1' value='$r1' size='20' class='$cl' /></td>
			    <td><input type='text' name='q2' value='$q2' size='20' class='$cl' /><br>
				<input type='text' name='r2' value='$r2' size='20' class='$cl' /></td>
				 <td><input type='text' name='q3' value='$q3' size='20' class='$cl' /><br>
				  <input type='text' name='r3' value='$r3' size='20' class='$cl' /></td>
			   <td><input type='text' name='q4' value='$q4' size='20' class='$cl' /><br>
			  <input type='text' name='r4' value='$r4' size='20' class='$cl' /></td>" ; 
	if($url=='') {	 
 
 $sqlc = "SELECT * FROM themes WHERE code='$theme' "; 
  $reqc = mysql_query($sqlc) or die('Erreur SQL !<br>'.$sqlc.'<br>'.mysql_error());
 $datac= mysql_fetch_array($reqc) ; 
 $idc = $datac['id'] ; 	
 
echo"<td><a href='pagevisu.php?id=$idc&th=$theme&e=$numero' target='_blank'><img src='images/oeil_visu.png' title='Visualiser le document' border='0' /></a></td>
<td><input src='images/actualiser.png'  type='image' name='modif' title='modifier les champs' /></td>"; }
 
 else
 
 { echo"<td><a href='pagevisu.php?id=$idc&th=$theme&e=$numero' target='_blank'><img src='images/oeil_visu.png' title='Visualiser le document' border='0' /></a></td>
 <td><a href='telechargement/$theme/$url' target='_blank'><img src='images/oeil.gif' title='Visualiser le document' border='0' /></a></td>"; }
 
echo"<td><a href='actions.php?a=6&p=$p&id=$id'><img src='images/poubelle.png' border='O' title='Supprimer le document' /></a></td> </tr></table></form></td></tr>" ; $j++ ; } 
echo"</table>"; } 
 
else { echo"<span class='pdf'>Choisir une prépa et une matière. Merci.</span>" ; }
 
 ?>
Voici me fichier gerer_doc.php :
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
48
49
50
51
52
53
54
55
56
57
58
<? 
 
if (isset($prepa)) { 
 
          if( $prepa== "IDE2" )   {$sqla = "SELECT * FROM themes WHERE matiere='$matiere' AND prepa='IDE2' OR matiere='$matiere' AND prepa='AS'  "; }
 
  else  { $sqla = "SELECT * FROM themes WHERE matiere='$matiere' AND prepa='$prepa'  "; }
 
$reqa = mysql_query($sqla) or die('Erreur SQL !    "'.$sqla.'"'.mysql_error());
 $na= mysql_fetch_array($reqa) ;
 
 if ($na==0)  { echo"<span class='pdf'>Créer un th&egrave;me. Merci.</span>" ; }  else   {
 
 
?> <form name='form1' method='post' action='actions.php?a=5&p=<? echo $_GET['p'] ; ?>' class='formulaire' enctype='multipart/form-data'>
<table width="100%" border="0" cellpadding="2" cellspacing="0" >
  <tr>
  <td  colspan="2" align="right"></td>
 
    <td align="right"><strong>Choix du th&egrave;me</strong></td>
    <td colspan="6" align='left'>
    <input name="p" id="p" type="hidden" value="<? echo $_GET['p'] ; ?>" />
    <select name="theme" id="theme" onchange="go()">
   <option value=''>selectionnez un th&egrave;me</option>
    <?  $sql = "SELECT * FROM themes WHERE prepa= '$prepa' AND matiere ='$matiere'  " ;
$req = mysql_query($sql) or die('Erreur SQL !    "'.$sql.'"'.mysql_error());
while( $data= mysql_fetch_array($req) ) 
{ 
$titre = $data['titre'] ; 
$code = $data['code'] ;
 
echo"<option value='$code'>$titre</option>" ; }?>
 </select>
</td>
  </tr>
  <tr><td></td></tr>
</table>
 </form>
<div id="code"></div>
 
 
 
 
 
 
<? } } else { echo"<span class='pdf'>Choisir une pr&eacute;pa et une mati&egrave;re. Merci.</span>" ; } ?>
 
 
 
 
 
 
 
<script type="text/javascript">
<!--
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1");
//-->
</script>
et le fichier doc est appelé par
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  <div id="TabbedPanels1" class="TabbedPanels">
          <ul class="TabbedPanelsTabGroup">
           <li class="TabbedPanelsTab" tabindex="0">Créer un th&egrave;me d'étude</li>
            <li class="TabbedPanelsTab" tabindex="0">Taper un texte</li>
            <li class="TabbedPanelsTab" tabindex="0">Insérer un texte pdf </li>
            <li class="TabbedPanelsTab" tabindex="0">Gérer les documents</li>
             <li class="TabbedPanelsTab" tabindex="0">Gérer les liens</li>
          </ul>
    <div class="TabbedPanelsContentGroup">
   <div class="TabbedPanelsContent"><? include('theme_etude.php') ; ?></div>
      <div class="TabbedPanelsContent"><? include('taper_texte.php') ; ?></div>
      <div class="TabbedPanelsContent"><? include('insertion_fichier.php') ; ?></div>
      <div class="TabbedPanelsContent"><? include('gerer_doc.php') ; ?></div>
      <div class="TabbedPanelsContent"><? include('gerer_liens.php') ; ?></div>
    </div>
 
</div>
J'ai oublié, puisque l'implémentation est bonne peut être que cela vient de la suite. La voici. Elle complète le message ci dessus où tous les codes en jeu sont écrits.
Merci encore...

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
48
49
50
51
52
53
54
55
 
   var xhr = null;
   function getXhr(){
	if(window.XMLHttpRequest)
	{ // Firefox et autres
		xhr = new XMLHttpRequest(); 
	}
	else if(window.ActiveXObject)
	{ // Internet Explorer 
 
		try 
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
			catch (e) 
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else 
	{ // XMLHttpRequest non supporté par le navigateur 
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
			xhr = false; 
	}
	return xhr ;
}
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go(){
				var xhr = getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						leselect = xhr.responseText;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById("code").innerHTML = leselect;
					}
				}
 
				// Ici on va voir comment faire du post
				xhr.open("POST","ajax.php",true);
				// ne pas oublier ça pour le post
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id de l'auteur
 
				p = document.getElementById('p').value;
 
				sel = document.getElementById('theme');
				code = sel.options[sel.selectedIndex].value;
				xhr.overrideMimeType("text/html; charset=ISO-8859-1");
				xhr.send("theme="+code+"&p="+p);
			}
Voilà, si quelqu'un me débrouille de cette affaire, chapeau !
Merci.
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 09h23   #13
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 260
Points : 7 260
Comme j'ai dit plus haut, c'est le code html généré qu'on a besoin mais pas ce code html.
Vire aussi la déclaration de la variable globale var xhr=null.
Citation:
if(xhr.readyState == 4 && xhr.status == 200)
Code :
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status ==0))
Citation:
xhr.overrideMimeType("text/html; charset=ISO-8859-1");
Encode tes fichiers en utf8 et vire ce bout de code. C'est plus prudent.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 16h35   #14
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
en fait le html généré provient du script php ci dessous.
ça génère un tableau et dans une colonne, un formulaire avec un tableau à l'intérieur.

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<? session_start() ; 
 
 $code= $_POST['theme'] ;
 
 
 if (isset($_POST['p'])) {$p= $_POST['p'] ; 
 
include("session/connexion_bd.php") ;
 echo"<table width='100%' border='0' cellpadding='2' cellspacing='0' >
 
 
 
     <tr><td width='25'>N°</td><td width='350'>Enoncé</td><td width='120'>Question 1</td><td  width='120'>Question 2</td><td width='120'>Question 3</td><td width='120'>Question 4</td><td colspan='2'  >&nbsp;</td></tr>
 
 " ;
$sql = "SELECT * FROM exercice WHERE theme='$code'  ORDER BY numero " ;
$req = mysql_query($sql) or die('Erreur SQL !    "'.$sql.'"'.mysql_error());
$j=0;
while( $data= mysql_fetch_array($req) ) 
{ 
$theme = $data['theme'] ;  $id = $data['id'] ; 
 
if ( $data['numero'] == "100") { $numero="C" ;  } 
 
if ( $data['numero'] == "200") { $numero="M" ;  } 
 
else{ $numero = $data['numero'] ; }
 
 
 $texte = stripslashes(htmlentities($data['texte'])) ;  $q1 = $data['q1'] ;$r1 = $data['r1'] ;
  $q2 = $data['q2'] ;$r2 = $data['r2'] ;
   $q3 = $data['q3'] ;$r3 = $data['r3'] ;
    $q4 = $data['q4'] ;$r4 = $data['r4'] ; $url = $data['url_telechargement'] ;
 
 
 
 
 
 
    if ($j%2==1) {$bg='#EEEEEE'; $cl='theme' ; } else { $bg='#DDDDDD'; $cl='theme2' ;}
echo" <tr><td colspan='8'>
<form name='form1' method='post' action='actions.php?a=5&p=$p' class='formulaire' enctype='multipart/form-data'>
<table width='100%' border='0' cellpadding='0' cellspacing='0' >
<tr bgcolor='$bg'>
<input type='hidden' name='id' value='$id' />
    <td><input type='text' name='numero' value='$numero' size='3' class='$cl' /></td>";
 
          if($url=='') {echo"<td><textarea name='texte' class='$cl'>$texte</textarea></td>" ; } else {echo"
 
    <td><strong>FICHIER :</strong> <input type='text' name='url' value='$url' size='20' class='$cl' /></td>" ; }
 
 
    echo" <td><input type='text' name='q1' value='$q1' size='20' class='$cl' /><br>
             <input type='text' name='r1' value='$r1' size='20' class='$cl' /></td>
                <td><input type='text' name='q2' value='$q2' size='20' class='$cl' /><br>
                <input type='text' name='r2' value='$r2' size='20' class='$cl' /></td>
                 <td><input type='text' name='q3' value='$q3' size='20' class='$cl' /><br>
                  <input type='text' name='r3' value='$r3' size='20' class='$cl' /></td>
               <td><input type='text' name='q4' value='$q4' size='20' class='$cl' /><br>
              <input type='text' name='r4' value='$r4' size='20' class='$cl' /></td>" ; 
    if($url=='') {     
 
 $sqlc = "SELECT * FROM themes WHERE code='$theme' "; 
  $reqc = mysql_query($sqlc) or die('Erreur SQL !<br>'.$sqlc.'<br>'.mysql_error());
 $datac= mysql_fetch_array($reqc) ; 
 $idc = $datac['id'] ;     
 
echo"<td><a href='pagevisu.php?id=$idc&th=$theme&e=$numero' target='_blank'><img src='images/oeil_visu.png' title='Visualiser le document' border='0' /></a></td>
<td><input src='images/actualiser.png'  type='image' name='modif' title='modifier les champs' /></td>"; }
 
 else
 
 { echo"<td><a href='pagevisu.php?id=$idc&th=$theme&e=$numero' target='_blank'><img src='images/oeil_visu.png' title='Visualiser le document' border='0' /></a></td>
 <td><a href='telechargement/$theme/$url' target='_blank'><img src='images/oeil.gif' title='Visualiser le document' border='0' /></a></td>"; }
 
echo"<td><a href='actions.php?a=6&p=$p&id=$id'><img src='images/poubelle.png' border='O' title='Supprimer le document' /></a></td> </tr></table></form></td></tr>" ; $j++ ; } 
echo"</table>"; } 
 
else { echo"<span class='pdf'>Choisir une prépa et une matière. Merci.</span>" ; }
 
 ?>
J'ai modifié les instructions et j'ai fait ce que tu m'as dit mais toujours le même souci. Sous IE, j'ai une icône d'alerte ( un triangle jaune et point d'exclamation) avec Terminé à coté dans la barre d'état.
je ne vois pas pourquoi !!
désolé.
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 19h20   #15
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Bonjour,
Justement peux tu cliquer ce triange erreur javascript
et nous dire quelle numéro de ligne et quelle erreur
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 19h49   #16
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Ah oui,
Ligne 53
caractère 5
Erreur : Cet objet ne gère pas cette propriété ou cette méthode
du fichier : index.php?p=1
C'est une balise <body> ???
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 21h06   #17
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
Par défaut Pas facile

Oups, je crois que je me suis trompé de code !Je suis allé dans le code source et je vous l'ai recopié. C la ligne 53 caractère 5 qui coince. Mais pourquoi ???

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Interface d'administration IFSI</title>
<link rel="shortcut icon" href="../favicon.ico" />
 
<link href="../style/main2.css" rel="stylesheet" type="text/css">
<link href="../style/forum.css" rel="stylesheet" type="text/css">
<link href="../style/theme.css" rel="stylesheet" type="text/css">
 
<script src="ajaxrequest.js"></script>
<script language="javascript" src="scripts/fonctions.js"></script>
<script language="javascript">
function change() {
sel = document.getElementById('theme');
choix = sel.options[sel.selectedIndex].value;
location.href='?p=1&i='+ choix ;
}
</script>
 
<link href="style/main.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
 
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css">
 
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
 
<script type="text/javascript">
<!--
function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
 
</head>
 
<body>
 
<div id="conteneurglobal">
  <div id="banniere"><img src="images/banniere.png" /></div>
 
 
<div id="menu">  
    <ul id="MenuBar1" class="MenuBarHorizontal">
        <li><a class="MenuBarItemSubmenu" href="#">Prépa AS</a>
          <ul>
 
        <li><a href='?p=5'>Biologie</a></li><li><a href='?p=6'>Culture générale</a></li><li><a href='?p=4'>Français</a></li><li><a href='?p=1'>Mathématiques</a></li><li><a href='?p=8'>Stages</a></li><li><a href='?p=7'>Textes législatifs</a></li>
 
 
 
 
 
 
          </ul>
        </li>
              <li><a class="MenuBarItemSubmenu" href="#">Prépa IDE 1</a>
            <ul>
       <li><a href='?p=10'>Culture générale</a></li><li><a href='?p=9'>Français</a></li><li><a href='?p=2'>Mathématiques</a></li><li><a href='?p=12'>Stages</a></li><li><a href='?p=11'>Textes législatifs</a></li>            </ul>
        </li>
            <li><a class="MenuBarItemSubmenu" href="#">Prépa IDE 2 </a>
		     <ul>
 
			  <li><a href='?p=14'>Analyse de situation</a></li><li><a href='?p=13'>Français</a></li><li><a href='?p=3'>Mathématiques</a></li><li><a href='?p=15'>Textes législatifs</a></li>         
        </ul></li>
            <li><a class="MenuBarItemSubmenu" href="#">Gestion g&eacute;n&eacute;rale</a>
            <ul>
            <li><a href="?p=1002">Actualités</a></li>
              <li><a href="?p=1003">Nouvel enseignant</a></li>
              <li><a href="?p=1001">Nouvelle rubrique</a></li>
              <li><a href="?p=1004">Qui se connecte ?</a></li>
               <li><a href="../index.php" target="_blank">Vers le site</a></li>
 
            </ul>
        </li>
 
 
        <a href="session/deconnexion.php">Déconnexion</a>
 
    </ul>
    </div>
 
 
 
 
        <div id="titre_corps">
Vraiment désolé, lorsqu'on est perdu, c'est difficile de savoir ce qui pourrait vous aider...
Phil_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 21h28   #18
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Il semblerait que ce soit la ligne qu'andy.aime t'a suggéré d'enlever...
Citation:
Envoyé par andry.aime
Encode tes fichiers en utf8 et vire ce bout de code. C'est plus prudent.
Au pire, remplace la ligne JS...
Code :
xhr.overrideMimeType("text/html; charset=ISO-8859-1");
par
Code :
if(xhr.overrideMimeType)xhr.overrideMimeType("text/html; charset=ISO-8859-1");
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 21h42   #19
Invité de passage
 
Homme
Inscription : août 2011
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 11
Points : 0
Points : 0
J'ai bien changé comme me dit Eric2a mais ça ne fonctionne toujours pas sous IE ???
Phil_D 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 14h50.


 
 
 
 
Partenaires

Hébergement Web