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 :

[DOM] <select> JAVASCRIPT sous IE


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Points : 15
    Points
    15
    Par défaut [DOM] <select> JAVASCRIPT sous IE
    Bonjour,
    j'ai un ptit script que j'ai effectuer qui marche très bien sous MOZILLA et OPERA mais pas du tout sous IE.

    Ce script est censé copier plusieur <option> d'une liste et les copier à la fin dans ma page ou se trouve mon <select>.

    Voici ma page default.aspx:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <table width="300" border="0" cellpadding="0" cellspacing="0">
    		    <tr><td height="10">                                                                        </td></tr>
    		    <tr><td height="20"><b>Saisie de la commune</b>                                             </td></tr>
    		    <tr><td height="20">
    		        <input id="commune_saisie" onkeydown="dotest2();" type="text" size="38">                 
    		                                                                                                </td></tr>
    		    <tr><td height="10">                                                                        </td></tr>
    		    <tr><td height="20"><b>Commune recherchée</b>                                               </td></tr>
    		    <tr><td height="20">		        
    		        <select id="commune_recherchee" size="6" style="width:260px"></select>
    		    </td></tr>
    </table>
    Voici ma page Default.js:
    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
     
    function dotest2() 
    {
        var timer = null;
     
        if(timer != null) {
            clearTimeout(timer);
            }
        timer = setTimeout(commune, 300);		
    }
    function commune()
    {
        var commune_saisie = document.getElementById("commune_saisie");
        if(commune_saisie.value.length>1)
        {
            WebSite1.Methods.retourne_communes_recherchee(commune_saisie.value, commune_callback);
        }
        else
        {
            commune_callback(null);
        }
    }
    function commune_callback(res)
    {
        var commune_recherchee = document.getElementById("commune_recherchee");
        var s = "";
        var d = "";
     
        if(res!=null)
        {
            for(var i=0;i<res.value.length;i++)
            {
                s = s + "<option onclick='selection_commune_recherche();' value='"+ res.value[i] +"'>"+ res.value[i] +"</option>";
     
     
            }  
        }
     
          commune_recherchee.innerHTML = s;
     
     
    }
    Comme je vous l'ai dit cela marche très bien sous Mozilla mais pas du tout sous IE. Est ce que quelqu'un pourrait m'aider?

  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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Avant d'aller plus loin dans ton code, juste un truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var timer = null;
     
        if(timer != null) {
            clearTimeout(timer);
            }
    Le if sert à quoi puisque tu viens de mettre timer = null ???
    Ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    timer = setTimeout(commune(), 300);
    Est plus conforme...

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    ah merci c'est gentil mais c'est pas ça le soucis :/

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    apparemment, il y aurait de fortes erreurs chez ie...
    Voici l'article qui m'a aidé
    http://support.microsoft.com/kb/276228/fr

    Voila ce que j'ai fait pour que ça marche:

    dans ma page default.aspx: ( j'ai mis un div à la place d'un select)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="commune_recherchee"></div>
    dans ma page Default.js:
    ( je rajoute carrément le <select> dans le innerHtml qui vient se mettre dans le id du DIV )
    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
     
    function commune_callback(res)
    {
        var commune_recherchee = document.getElementById("commune_recherchee");
        var s = "";
        var d = "";
     
        if(res!=null)
        {
            for(var i=0;i<res.value.length;i++)
            {
                s = s + "<option onclick='javascript:selection_commune_recherche();' value='"+ res.value[i] +"'><a href=http://www.google.fr target=_blank>"+ res.value[i] +"</a></option>";                        
            }  
        }
     
        s = '<select id="cummune_a_trouvee" size=6 style=width:260px>' + s + '</select>';
        commune_recherchee.innerHTML = s;
    }

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Par contre j'ai un autre problème,
    (dans mon code JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s = s + "<option onclick='javascript:selection_commune_recherche();' value='"+ res.value[i] +"'><a href=http://www.google.fr target=_blank>"+ res.value[i] +"</a></option>";
    j'arrive pas à faire marcher ni ma fonction selection_commune_recherche() ni le <a href

    Quelqu'un aurait peut être une idée?

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa innerHTML pour ajouter des options dans un select

    Utilise les fonctions DOM !! Voilà un exemple :
    http://www.developpez.net/forums/sho...d.php?t=285048


    Maintenant, tu ne peux placer que du texte entre les balises <option> et rien d'autre.
    L'événement onclick ne fonctionne pas sur les balises option. Utilise onchange sur la balise select.

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Ah Merci, pour cette réponse clair et rapide.

    Citation Envoyé par Auteur Voir le message
    rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa innerHTML pour ajouter des options dans un select
    Citation Envoyé par Auteur Voir le message
    L'événement onclick ne fonctionne pas sur les balises option. Utilise onchange sur la balise select.
    Euh, bah pourtant dans FireFox, ça marche

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    Citation Envoyé par kosowski Voir le message
    Euh, bah pourtant dans FireFox, ça marche
    moui, c'est vrai... c'est une exception

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Récuperation valeur Select modifié dynamiquement sous Explorer
    Par camcam8782 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 31/03/2009, 10h49
  2. Select et javascript
    Par masseur dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/04/2006, 09h27
  3. [DOM] Utilisation de l'API DOM pour créer du HTML sous IE
    Par pedouille dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/01/2006, 14h48
  4. Problème d'utilisation select () avant recv sous windows
    Par init dans le forum Développement
    Réponses: 3
    Dernier message: 16/03/2005, 19h36
  5. visualiser du javascript sous jbuilder
    Par antigone dans le forum JBuilder
    Réponses: 5
    Dernier message: 26/06/2003, 18h23

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