Problème liste déroulante sur IE8, ok sur fir
celin68
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
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 code ascii - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
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() ?