IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

incompatibilité d'humeur avec ie7 !


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut incompatibilité d'humeur avec ie7 !
    bonsoir,
    j'ai un soucis avec mon code,
    il fonctionne presque partout sauf sur ie7 (et peut etre aussi ie6, mais je zappe ...)

    le probleme vient de "removeAttribute" et "setAttribute " ...
    est-ce que je peut rendre compatble d'une certaine façon ?
    merci d'avance !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <div id="affichage_boutons" style="visibility:hidden;" >
    <select name="type_de_colis" >
    <option value="choix" > Select </option>
    <option value="simo" >Colissimo</option>
    <option value="cronoE" >Chronopost Express</option>
    <option value="cronoC" id="idcronoc" >Chronopost Classic</option>
    <option value="autres" id="idautres" > Others </option>
    </select>
    </div><br />	
    	<script type="text/javascript">
    function updatePrix2(source, destID) {
    var lavaleur=source.options[source.selectedIndex].value;
    if ((lavaleur=="FR") ||(lavaleur=="MC") ||(lavaleur=="AD") ) { //france, monaco, andorre
    	document.getElementById(destID).innerHTML = 
    		"<b>&nbsp;&nbsp; Envoi gratuit en colissimo  </b><br /> &nbsp; \n" ;	
    		//GetId("affichage_boutons").style.visibility="hidden"; 
    	}
    else if (lavaleur=="0"){ 
    var lavaleur=parseInt(lavaleur);
    	document.getElementById(destID).innerHTML = 
    		"<b>&nbsp;&nbsp; (Choisir un pays // Select a country)</b> <br /> &nbsp; \n"; 
    		//GetId("affichage_boutons").style.visibility="hidden"; 
    	}
    else{
    if(lavaleur=="AC"){colissimo="35";chrono_E="200";chrono_C="NO!";autres="NO!";} 
    if(lavaleur=="AF"){colissimo="50";chrono_E="280";chrono_C="NO!";autres="NO!";} 
    if(lavaleur=="ZA"){colissimo="35";chrono_E="265";chrono_C="NO!";autres="NO!";} 
    etc.........
     
    if(colissimo!="NO!"){
    	var msg_colissimo="<li>Colissimo: +" + (colissimo) + " &euro;</li>";
    	}
    else {var msg_colissimo="";
    	} 
    if(chrono_E!="NO!"){
    	var msg_cronoE="<li>Chrono Express: +" + (chrono_E) + " &euro;</li>\n ";
    	}
    else {var msg_cronoE="";
    		}
    if(chrono_C!="NO!"){
    	var msg_cronoC="<li>Chrono Classic: +" + (chrono_C) + " &euro;</li>\n ";
     	document.getElementById("idcronoc").removeAttribute("disabled");
    	//document.getElementById("idcronoc").style.visibility="visible";
    	}
    else {var msg_cronoC="";
     	document.getElementById("idcronoc").setAttribute("disabled", true);
    	//document.getElementById("idcronoc").style.visibility="hidden";
     
    			}
    if(autres!="NO!"){
    	var msg_autres="<li>Others: +" + (autres) + " &euro;</li>\n (Others: ups, fedex,tnt or sodexi) <br />";
     	document.getElementById("idautres").removeAttribute("disabled");
    	//document.getElementById("idautres").style.visibility="visible";
     
    	}
    else {var msg_autres="";
     	document.getElementById("idautres").setAttribute("disabled", true);
    	//document.getElementById("idautres").style.visibility="hidden";
    			}
    			//new_deux.appendChild(new_liste);
    	document.getElementById(destID).innerHTML = 
    	"<ul><b>" + (msg_colissimo) + (msg_cronoE) + (msg_cronoC) + (msg_autres) + "</b></ul><br />" ;
    		GetId("affichage_boutons").style.visibility="visible"; 
     
    	} }
    </script>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben c'est simple : IE n'accepte pas l'attribut disabled pour les options d'un select, ni d'ailleurs le display none.

    La seule solution est de supprimer ou ajouter l'option.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, 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
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut
    merci bovino!

    bon.....encore un fois, ça le fait pas ...
    j'ai donc supprimé la derniere option(autres) pour essayer ...
    2 problemes :
    1. l'option se construit apres le select
    2. l'option s'incrémente a chaque fois qu'elle est demandée



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if(autres!="NO!"){
    	var msg_autres="<li>Others: +" + (autres) + " &euro;</li>\n (Others: ups, fedex,tnt or sodexi) <br />";
    			var new_option5 = document.createElement("option");
    new_option5.value = "autres";
    new_option5.text = " Others ";
    var opt1=GetId("affichage_boutons").appendChild(new_option5);
    	}
    else {var msg_autres="";
    			}
    	document.getElementById(destID).innerHTML = 
    	"<ul><b>" + (msg_colissimo) + (msg_cronoE) + (msg_cronoC) + (msg_autres) + "</b></ul><br />" ;
    		GetId("affichage_boutons").style.visibility="visible";
    hummfffff

  4. #4
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut
    j'avais fait une tentative de creation de select + options ; un truc dans ce genre ...... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 new_liste = document.createElement("select");
    new_liste.setAttribute("name", "type_de_colis");
    	GetId("affichage_boutons").appendChild(new_liste);
    var new_option = document.createElement("option");
    new_option.value = "choix";
    new_option.text = " Select ";
    	new_liste.appendChild(new_option);
     
    if(colissimo!="NO!"){
    	var msg_colissimo="<li>Colissimo: +" + (colissimo) + " &euro;</li>";
    	var new_option2 = document.createElement("option");
    	new_option2.value = "simo";
    	new_option2.text = "Colissimo";
    	new_liste.appendChild(new_option2);
    	}
    else {var msg_colissimo="";
    	} 
    if(chrono_E!="NO!"){
    	var msg_cronoE="<li>Chrono Express: +" + (chrono_E) + " &euro;</li>\n ";
    	var new_option3 = document.createElement("option");
    new_option3.value = "cronoE";
    new_option3.text = "Chronopost Express";
    	new_liste.appendChild(new_option3);
    	}
    else {var msg_cronoE="";
    		}
    if(chrono_C!="NO!"){
    	var msg_cronoC="<li>Chrono Classic: +" + (chrono_C) + " &euro;</li>\n ";
    	var new_option4 = document.createElement("option");
    new_option4.value = "cronoC";
    new_option4.text = "Chronopost Classic";
    new_liste.appendChild(new_option4);
     	//document.getElementById("idcronoc").removeAttribute("disabled");
    	}
    else {var msg_cronoC="";
     	//document.getElementById("idcronoc").setAttribute("disabled", true);
    			}
    if(autres!="NO!"){
    var new_option5 = document.createElement("option");
    new_option5.value = "autres";
    new_option5.text = " Others ";
    new_liste.appendChild(new_option5);
    	var msg_autres="<li>Others: +" + (autres) + " &euro;</li>\n (Others: ups, fedex,tnt or sodexi) <br />";
     	//document.getElementById("idautres").removeAttribute("disabled");
    	}
    else {var msg_autres="";
     	//document.getElementById("idautres").setAttribute("disabled", true);
    			}
    	document.getElementById(destID).innerHTML = 
    	"<ul><b>" + (msg_colissimo) + (msg_cronoE) + (msg_cronoC) + (msg_autres) + "</b></ul><br />" ;
    		GetId("affichage_boutons").style.visibility="visible"; 
     
    	} }
    .... on y est pas vraiment non plus .....ça foire un peu, j'ai que les 3 premieres options et le select se duplique a chaque clic (rime)

Discussions similaires

  1. incompatibilite de swfobject avec IE7
    Par Shandler dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 05/05/2008, 11h22
  2. Problème avec IE7
    Par roujul dans le forum Langage
    Réponses: 4
    Dernier message: 05/12/2006, 10h13
  3. pb pub intempestives avec IE7
    Par FMG.CLAN.ST dans le forum Flash
    Réponses: 8
    Dernier message: 01/12/2006, 18h13
  4. problème de positionnement css avec IE7
    Par rasleboldesid dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 01/09/2006, 20h11
  5. [DOM] Problème de manipulation DOM avec IE7
    Par volivi dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/04/2006, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo