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 :

Disabled sur une option avec Super IE


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Points : 74
    Points
    74
    Par défaut Disabled sur une option avec Super IE
    Bonjour à tous.

    J'ai une fonction javascript qui, pour faire court, met un disabled=true sur une option de select, de la façon suivante donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeDestination[i].disabled=true;
    Seulement vous vous en doutez cela marche impeccable sous Firefox et sous Safari mais côté IE c'est la loose. Vous me confirmerez sans doute qu'IE n'accepte pas le disabled, c'est ce que j'ai cru comprendre en effectuant des recherches sur le net.

    Et donc, je voulais savoir si vous aviez une solution pour contourner ce problème mis à part supprimer l'élément de la liste ?

    Merci déjà

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    listeDestination[i].disabled=disabled;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Points : 74
    Points
    74
    Par défaut
    J'aurais aimé te répondre que çà fonctionne mais ce n'est pas le cas
    Je crois que c'est la propriété qui est pas supportée.

  4. #4
    Membre régulier Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Points : 83
    Points
    83
    Par défaut
    Tout à fait Kimado, c'est la loose..

    Non j'ai eu le même problème la semaine dernière. J'ai également une fonction javascript qui est sensée modifier dynamiquement cet attribut.

    Pour l'instant, je n'ai trouvé que des solutions "crades", par exemple tu peux qd mm sélectionner l'option dans la liste alors qu'elle est grisée et le script fait revenir le focus sur l'option ou tu étais. J'ai encore rien trouvé qui interdit réellement de sélectionner comme sous FF.

    Jte balance le script dans 1min.

  5. #5
    Membre régulier Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Points : 83
    Points
    83
    Par défaut
    Le script que j'ai trouvé :

    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
     
    /****************************************************************
    * Author:	Alistair Lattimore
    * Website:	http://www.lattimore.id.au/
    * Contact:	http://www.lattimore.id.au/contact/
    *			Errors, suggestions or comments
    * Date:		30 June 2005
    * Version:	1.0
    * Purpose:	Emulate the disabled attributte for the <option> 
    *			element in Internet Explorer.
    * Use:		You are free to use this script in non-commercial
    *			applications. You are however required to leave
    *			this comment at the top of this file.
    *
    *			I'd love an email if you find a use for it on your 
    *			site, though not required.
    ****************************************************************/
     
    window.onload = function() {
    	if (document.getElementsByTagName) {
    		var s = document.getElementsByTagName("select");
     
    		if (s.length > 0) {
    			window.select_current = new Array();
     
    			for (var i=0, select; select = s[i]; i++) {
    				select.onfocus = function(){ window.select_current[this.id] = this.selectedIndex; }
    				select.onchange = function(){ restore(this); }
    				emulate(select);
    			}
    		}
    	}
    }
     
    function restore(e) {
    	if (e.options[e.selectedIndex].disabled) {
    		e.selectedIndex = window.select_current[e.id];
    	}
    }
     
    function emulate(e) {
    	for (var i=0, option; option = e.options[i]; i++) {
    		if (option.disabled) {
    			option.style.color = "graytext";
    		}
    		else {
    			option.style.color = "menutext";
    		}
    	}
    }
    De souvenir, je crois que le script n'arrange pas du tout notre problème. En fait, ce script fonctionne parfaitement lorsque ton select est déjà construit comme il faut, avec les disabled ou il faut. Mais là il s'agit de les modifier dynamiquement et du coup ça ne fonctionne pas.
    J'ai un peu laissé le problème en attente depuis la semaine dernière, j'ai pas mal d'autres trucs en mm temps à gérer , mais je vais bientôt devoir m'y réintéresser.
    Sinon, le plus propre je pense serait de gérer carément l'ajout et la suppression dynamiques des options du select. Je sais pas si c'est gérable de ton coté mais du mien ça doit l'etre, il faut juste que je passe un peu de temps à dev la fonction..

    Tiens moi au courant si tu trouves qqchose d'intéressant

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    mea culpa , j'avais lut trop vite , une option de select et non une liste ! désolé , effectivement , on ne peut désactiver une option , par contre en js , tu peux émuler ce comportement ...
    edit : http://www.lattimore.id.au/2005/07/0...ript-solution/

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeDestination[i].disabled="disabled";

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeDestination[i].disabled="disabled";
    Non de ce point de vu j'ai tout essayé c'est belle est bien l'option qui ne fonctionne pas sous IE.

    Merci à thibane et à le_chomeur pour leur aide mais en fait je vais faire un peu plus bourrin : je vais enlever directement l'option de la liste.
    çà leur apprendra à utiliser IE

    Sur ce bonne fin de journée.

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    arf exact...
    Faut dire que je n'ai jamais croisé ce cas de figure d'option désactivée ...

Discussions similaires

  1. [MVC] Iterer sur une Hashmap avec les tag spring mvc options
    Par Ytsaeb dans le forum Spring Web
    Réponses: 0
    Dernier message: 31/01/2012, 14h35
  2. Interpolation sur une polyline avec tangentes
    Par Pedro dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 12/01/2006, 23h10
  3. Réponses: 16
    Dernier message: 10/11/2005, 22h51
  4. Problème sur une cmd avec AWK
    Par OrangeBud dans le forum Linux
    Réponses: 3
    Dernier message: 02/06/2004, 10h51
  5. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00

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