Problème liste déroulante sur IE8, ok sur fir
celin68
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis en train de créer une application web sur IE8 reliée à une base de données.
J'ai une liste déoulante qui affiche ce qu'il y a dans ma base de données. Sur firefox c'est ok mais sur IE8, ça me met une liste vide. Pourquoi ?
Voici mon code php
Ma page php
Merci pour votre aide
je suis en train de créer une application web sur IE8 reliée à une base de données.
J'ai une liste déoulante qui affiche ce qu'il y a dans ma base de données. Sur firefox c'est ok mais sur IE8, ça me met une liste vide. Pourquoi ?
Voici mon code php
<!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" xml:lang="fr" lang="fr"> <head> <meta name="generator" content="HTML Tidy for Windows (vers 14 February 2006), see www.w3.org" /> <meta http-equiv="Content-Type" content="text/html; CHARSET=iso-8859-1" /> <title> </title> <link rel="stylesheet" type="text/css" href="css/main.css" media="screen" /> <link rel="stylesheet" type="text/css" href="css/print.css" media="print" /> <script type="text/javascript" src="js/common.js"></script> <script type="text/javascript" src="js/oXRH.js"></script> </head> <body id="type-b"> <div id="wrap"> <p id="lignes"> <select id="lignesSelect" onclick="ajax();" > <option value="">Choisissez une ligne</option> <option disabled="disabled">---------------</option> </select> </p> <script type="text/javascript"> function ajax() { var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { // obtenir lignesSelect var lignesSelect=document.getElementById("lignesSelect"); // afficher le resultat du data lignesSelect.innerHTML+=xhr.responseText; } }; xhr.open("POST", "requete.php", true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send("action=ajax"); } </script> </body> </html>
Ma page php
<?php $serveur = "127.0.0.1"; $nom_base = "mydb"; $login = "g21"; $motdepasse = "g21"; $co = mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error()); mysql_select_db($nom_base, $co); if (mysql_connect ($serveur,$login,$motdepasse)) { echo 'connexion réussie'; } else { echo 'connexion impossible...'.mysql_error(); } $query = "SELECT NUM_LIGNE FROM LIGNE ORDER BY NUM_LIGNE" ; $res = mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error()); while ($ligne=mysql_fetch_assoc($res)) { echo "<option value=\"".$ligne ['NUM_LIGNE']."\">".$ligne ['NUM_LIGNE']."</option>"; } mysql_close(); /* } */?>
Merci pour votre aide
A voir également:
- Problème liste déroulante sur IE8, ok sur fir
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Ie8 - Télécharger - Navigateurs
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
6 réponses
Bonsoir,
Je ne sais pas si ça résoudra ton problème ou bien si le problème vient de là mais à tout hasard je te donne le lien http://msdn.microsoft.com/fr-fr/library/cc534581(v=vs.85).aspx
Je ne sais pas si ça résoudra ton problème ou bien si le problème vient de là mais à tout hasard je te donne le lien http://msdn.microsoft.com/fr-fr/library/cc534581(v=vs.85).aspx
<!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" xml:lang="fr" lang="fr"> <head> <meta name="generator" content="HTML Tidy for Windows (vers 14 February 2006), see www.w3.org" /> <meta http-equiv="Content-Type" content="text/html; CHARSET=iso-8859-1" /> <title> </title> <link rel="stylesheet" type="text/css" href="css/main.css" media="screen" /> <link rel="stylesheet" type="text/css" href="css/print.css" media="print" /> <script type="text/javascript" src="js/common.js"></script> <script type="text/javascript" src="js/oXRH.js"></script> </head> <body id="type-b"> <div id="wrap"> <p id="lignes"> <select id="lignesSelect" onclick="ajax();" > <option value="">Choisissez une ligne</option> <option disabled="disabled">---------------</option> </select> </p> <script type="text/javascript"> function ajax() { var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { // obtenir lignesSelect var liste=document.getElementById("lignes"); // afficher le resultat du data liste.innerHTML+=xhr.responseText; } }; xhr.open("POST", "requete.php", true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send("action=ajax"); } </script> </body> </html> Ma page php <?php $serveur = "127.0.0.1"; $nom_base = "mydb"; $login = "g21"; $motdepasse = "g21"; $co = mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error()); mysql_select_db($nom_base, $co); /* cette partie inutile car tu fais deux fois la connexion au serveur et si elle ne réussit pas le or die sort du script if (mysql_connect ($serveur,$login,$motdepasse)) { echo 'connexion réussie'; } else { echo 'connexion impossible...'.mysql_error(); } */ $query = "SELECT NUM_LIGNE FROM LIGNE ORDER BY NUM_LIGNE" ; $res = mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error()); //il faut renvoyer tout le select echo '<select id="lignesSelect" onclick="ajax();" > <option value="">Choisissez une ligne</option> <option disabled="disabled">---------------</option>'; while ($ligne=mysql_fetch_assoc($res)) { echo "<option value=\"".$ligne ['NUM_LIGNE']."\">".$ligne ['NUM_LIGNE']."</option>"; } echo '</select>'; mysql_close(); /* } */?>
Toujours rien dans IE. C'est un bug référencé chez MS depuis 2003 et toujours pas corrigé.
http://support.microsoft.com/kb/276228/fr
Merci pour votre aide
http://support.microsoft.com/kb/276228/fr
Merci pour votre aide
ce que je ne comprend pas, tu cliques dans une liste déroulante pour ré afficher cette liste déroulante ?
ou est ta fonction getXMLHttpRequest(); ?
c'est peut être à ce niveau que ça bloque
ou est ta fonction getXMLHttpRequest(); ?
c'est peut être à ce niveau que ça bloque
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je veux remplir la liste déroulante en cliquant dessus. La fonction getXMLHttpRequest(); est dans mon Js avant la page php.
function ajax()
{
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
// obtenir lignesSelect
var liste=document.getElementById("lignes");
// afficher le resultat du data
liste.innerHTML+=xhr.responseText;
}
};
xhr.open("POST", "requete.php", true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send("action=ajax");
}
function ajax()
{
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
// obtenir lignesSelect
var liste=document.getElementById("lignes");
// afficher le resultat du data
liste.innerHTML+=xhr.responseText;
}
};
xhr.open("POST", "requete.php", true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send("action=ajax");
}
essayes comme ça en enlevant ==0 et avec l'alerte pour voir ce que tu reçoit
et quel est le code de ta fonction getXMLHttpRequest() ?
function ajax() { var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { //if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { if (xhr.readyState == 4 && xhr.status == 200 ) { // obtenir lignesSelect var liste=document.getElementById("lignes"); alert("Recu de php: "+xhr.responseText); // afficher le resultat du data liste.innerHTML=xhr.responseText; //modif ici aussi } }; xhr.open("POST", "requete.php", true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send("action=ajax"); }
et quel est le code de ta fonction getXMLHttpRequest() ?