[AJAX] AJAX et innerHTML sous IE(9)
Bonjour !
Je rencontre un petit soucis avec une liste liée sous IE9, elle fonctionne parfaitement sous Firefox mais sous IE rien, Je sais que le sujet à déjà été soulevé mais je n'ai trouvé aucune réponse claire.
Alors voila pour mon ajax
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
|
<script type='text/javascript'>
function actualiserCombo()
{
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('UC').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","Combo_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, on regarde ce qui est séléctionné dans la combo1
sel = document.getElementById('Nom');
idUser = sel.options[sel.selectedIndex].value;
var data ="idUser=" + idUser;
// On envois la requete
xhr.send(data);
}
</script> |
Mes recherches m'ont permis de me tourner vers le innerHTML qui n'est pas intelligemment compatible avec IE. Je cherche donc une solution pour pallier ce problème
Voici mon Combo_ajax.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
|
<?php
header('Content-Type: text/html; charset=UTF-8');
if (isset($_POST['idUser']) and ($_POST['idUser'] != ""))
{
$dbconn = pg_connect("host=**** port=5432 dbname=**** user=***** password=*******");
$query = "SELECT ".Chr(34)."id.UC/DC/DF".Chr(34).", ".Chr(34)."UC/DC/DF".Chr(34)."from auriga.".Chr(34)."ESSSE_Stat_Intervention_2".Chr(34)."WHERE ".Chr(34)."id.Groupe".Chr(34)." = ".$_POST['idUser']." Order By ".Chr(34)."UC/DC/DF".Chr(34);
$result = pg_query($query) or die('Échec de la requête : ' . pg_last_error());
$arrP = pg_fetch_all($result);
pg_free_result($result);
pg_close($dbconn);
ini_set("memory_limit","512M");
session_start();
if ($arrP != null)
{
$dc="";
echo "<option value='9999'>Tous les Modules </option>";
foreach($arrP as $array)
{
if ($array['id.UC/DC/DF']!= null AND $array['UC/DC/DF'] != Null AND $dc != $array['UC/DC/DF'])
{
echo '<option value="'.$array['id.UC/DC/DF'].'">'.$array['UC/DC/DF'].'</option>';
$dc = $array['UC/DC/DF'];
}
}
}
}
?> |
Si quelqu'un a une idée je suis preneur.
Merci d'avance
Cordialement
RobertHue