Liste déroulante fonctionne sous Firefox pas IE... - HTML/CSS - Programmation
Marsh Posté le 26-10-2005 à 11:34:36
Citation : ActiveXObject |
Sauf erreur, ca n'existe que sous IE les objets activeX
Marsh Posté le 26-10-2005 à 15:57:22
J'ai testé la liste avec tout plein de navigateurs différents... Avec tous ma liste déroulante fonctionne...sauf IE...c'est quand même dingue...
Marsh Posté le 26-10-2005 à 16:01:23
tu as verifié si ton IE acceptait les activeX ?
Marsh Posté le 26-10-2005 à 16:17:16
Ouais j'ai tout bien vérifié si tout était bien coché comme il faut et tout est OK...
Marsh Posté le 25-10-2005 à 10:40:21
Bonjour,
J'ai un petit soucis avec une liste déroulante avec sous liste déroulante (tout cela fonctionne avec du PHP et base de donnée MYSql). Sous Firefox, tout s'ouvre sans problème et sous IE impossible de dérouler la sous liste. Du coup étant donné qu'il s'agit d'un formulaire il est impossible de le valider puisque ce champ n'a pas été renseigné... Ce n'est pas moi qui ai crée tout ca mais j'ai trouvé un petit quelque chose comme ca : (il va de soi que j'n'y comprend rien mais etant donné que j'ai vu IE dans le script je me suis dit que c'était peut-être là que se trouvait le problème...). Merci d'avance si vous avez une idée...
// Compilation conditionnelle d'IE
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP" );
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP" );
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
// on essaie de créer l'objet si ce n'est pas déjà fait
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
if (xmlhttp) {
// on définit ce qui doit se passer quand la page répondra
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// Traitement de la réponse.
tableauResultats = xmlhttp.responseText.split("|" );
document.getElementsByName(cible)[0].innerHTML = "";
for ( i in tableauResultats ) {
// on regarde si il faut ajouter l'attribut selected au chargement de la page
if ( event == 'onLoad' && tableauResultats[i] == '<?= $sousTheme ?>')
elem = new Option(tableauResultats[i],tableauResultats[i],false,true);
else elem = new Option(tableauResultats[i],tableauResultats[i],false,false);
document.getElementsByName(cible)[0].appendChild(elem);
if (tableauResultats.length > 2) document.getElementsByName(cible)[0].style.display="";
else document.getElementsByName(cible)[0].style.display="none";
}
}
}
}