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 :

Problème d'exécution incorrecte sous ie


Sujet :

JavaScript

  1. #21
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    sous ie, comment faire pour cacher une option dans un select. Sous firefox, ça marche mais pas sous ie...

  2. #22
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut
    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
    function insertOptionBefore(champReference,num,valeur,text)
    {  
        var elOptNew = document.createElement('option');
        elOptNew.text = text;
        elOptNew.value = valeur;
        var elOptOld = champReference.options[0];  
        try {
          champReference.add(elOptNew, elOptOld);     }
        catch(ex) {
          champReference.add(elOptNew,0); 
        } 
    }
     
    function removeOption(champReference,index)
    {       
          champReference.remove(index);
    }

  3. #23
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Bien mais sache qu'IE n'accepte pas bien les []...
    Idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName("TOUT_CE_QUE_TU_VEUX[]")
    __________________
    EDIT : Dsl, je n'avais pas vu la 2e page....
    Ce que je dis n'a peut-être plus d'interet...

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    Bien mais sache qu'IE n'accepte pas bien les []...
    je sais qu'il ne les accepte pas trop mais apparemment la ca marche et avec php, pas trop le choix. Si getElementsByName marche bien, je changerais alors. pour l'instant, je touche plus ^^.
    function insertOptionBefore(champReference,num,valeur,text)
    {
    var elOptNew = document.createElement('option');
    elOptNew.text = text;
    elOptNew.value = valeur;
    var elOptOld = champReference.options[0];
    try {
    champReference.add(elOptNew, elOptOld); }
    catch(ex) {
    champReference.add(elOptNew,0);
    }
    }

    function removeOption(champReference,index)
    {
    champReference.remove(index);
    }
    euh la ton code permet d'ajouter et de supprimer des éléments dans le select. Mon select est deja rempli. Tout ce qu'il faut c'est cacher certaines options a certains moment et les faire réapparaitre. Mais il ne faut surtout pas que j'en supprime

  5. #25
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Pour faire disparaitre une option temporairement, faire comme avec un controle : utiliser style.display !

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    oui du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function cacher_tout(liste)
    {
    	for(var i=0 ; i<liste.length ; i++)
    	{
    		liste[i].style.display = "none";
    	}
    }
    et la liste passée en parametre est la liste des options. Ca marche sous firefox mais pas sous ie.
    J'ai également essayé de passer le select mais meme comportement


    [EDIT] :
    en fait ie met bien la valeur de style.display à none cependant il n'a pas l'air de l'interpréter correctement ce c--!!

    ( dans la famille des logiciels les plus pourris et les plus buggés, je veux le fils : ie!! merci ie pour le temps que tu nous fait perdre!!!)

  7. #27
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function cacher_tout(liste)
    {
    	for(var i=0 ; i<liste.length ; i++)
    	{
    		liste[i].style.display = "none";
    	}
    }
    cacher_tout(select.document.getElementsByTagName("option"))
    ??

  8. #28
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    pb c'est que là ca va me cacher toutes les options de tous mes select non?

  9. #29
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    exact !
    Voici un code sans doute plus adapté :
    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
    function cacher(select, cond)
    {
    	var liste=select.getElementsByTagName("option")
    	for(var i=0 ; i<liste.length ; i++)
    	{
    		var ok=null;
    		try {eval("ok="+cond);} catch (ex) {}
    		if (ok==true && typeof(ok)=="boolean") {
    			liste[i].style.display = "none";
    		}
    		else if (ok==false && typeof(ok)=="boolean") {
    			liste[i].style.display = "none";
    		}
    		else if (ok==null) {
    			// Il y a eu une erreur : ne rien faire
    		}
    		else {
    			// La condition renvoie un autre type d'objet
    			// Par mesure de précaution, on arrête tout
    			throw "La valeur de renvoi doit être un boolean ou null (ne rien faire)";
    		}
    	}
    }
    // Cacher selon condition
    cacher(document.getElementById("select"),"liste[i].getAttribute('value')=='0'"); 
    // Cacher tout
    cacher(document.getElementById("select"),true);

  10. #30
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    ok merci pour le bout de code, j'essaierais ça demain.

  11. #31
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    en fait, je viens de relire vite fait ton code. Ca revient à faire (en utilisant mon code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function cacher_tout(liste)
    {
    	for(var i=0 ; i<liste.length ; i++)
    	{
    		liste[i].style.display = "none";
    	}
    }
    cacher_tout(select.getElementsByTagName("option"))

  12. #32
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    up

  13. #33
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par Choupinou
    up
    Tu peux reprendre le problème au début? J'avoue qu'entre ton post original et ce dernier, je ne vois pas le rapport...... Y'a pas un seul option dans ton truc original, c'est normal que ça ne fasse rien, non?

    Tu peux résumer le problème et ce que tu cherches à faire? (c'est toujours le même problème qu'initiallement?)

  14. #34
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    Oui c'est toujours le même problème. En fait j'ai une fonction javascript qui cache les options d'un select (ça marche sous firefox). Le pb c'est que ça marche pas sous ie.

    le code javascript qui devrait cacher ou montrer les options du select :
    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
     
    function montrer_tout(liste)
    {
    	for(var i=0 ; i<liste.length ; i++)
    	{
    		liste[i].style.display = "block";
    	}
    }
     
    function cacher_tout(liste)
    {
    	for(var i=0 ; i<liste.length ; i++)
    	{
    		liste[i].style.display = "none";
    	}
    }
    exemple d'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var liste_sujets = document.forms['formulaire_articles'].elements['article_liste_sujets[]'];
     
    cacher_tout(liste_sujets.options);

  15. #35
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Exemple d'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cacher_tout(liste_sujets.getElementsByTagName("option"));

  16. #36
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par Choupinou
    cacher_tout(liste_sujets.options);
    liste_sujets est une liste d'élements, donc elle n'a pas de champs options.....

  17. #37
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    liste_sujets est un select et a bien des options (vérifié avec firebug sous firefox). Apres peut-être que c'est la cause qu pb sous ie

  18. #38
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    Citation Envoyé par FremyCompany
    Exemple d'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cacher_tout(liste_sujets.getElementsByTagName("option"));
    j'ai essayé même pb : marche sous firefox mais pas sous ie

  19. #39
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par Choupinou
    liste_sujets est un select et a bien des options (vérifié avec firebug sous firefox). Apres peut-être que c'est la cause qu pb sous ie
    Oui, mais non...

    liste_sujets est un array avec un objet, que firefox te présente comme l'objet.

    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste_sujets[0].options

  20. #40
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Par défaut
    j'ai essayé. toujours pareil... Mais c'est vrai que normalement ça devrait être un tableau avec un seul élément qui est un select. Bizarre que ça marche comme ça sous firefox et que ça ne marche toujours pas sous ie

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. problème d'exécution sous l'invite de commande
    Par gnocki dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 23/11/2006, 11h43
  2. problème d'exécution de requête sous VBA?
    Par jessy212 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/08/2006, 18h48
  3. [Système] Problème d'exécution DOS sous PHP
    Par chtichokoko dans le forum Langage
    Réponses: 7
    Dernier message: 28/04/2006, 16h26
  4. problème d'exécution d'un report sous oracle 10g
    Par seure dans le forum Reports
    Réponses: 1
    Dernier message: 22/03/2006, 17h47
  5. Réponses: 5
    Dernier message: 19/04/2005, 08h50

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