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 :

Gestion de listes non liées pour Internet Explorer


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Gestion de listes non liées pour Internet Explorer
    Bonjour,
    je vous expose mon problème:

    J'ai deux listes non liées dans un formulaire pour des raisons pratique.
    Mon but est de ne sélectionné qu'une seule valeur sur les deux listes présentes.

    voici ce que j'ai mis en place en javascript:

    Code javascript : 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
    function sursubmit(selection)
    {
    	//la liste2 est selectionné  
    	//je déselectionne chaque élement de la  liste1   
    	if (selection=='liste1')
    	{
    		for (var i=0; i<document.formulaire.liste1.options.length; i++) 
    		{
    			document.formulaire.liste1.options[i].selected = false;
    		}
    	}
     
    	//la liste1 est selectionné  
    	//je déselectionne chaque élement de la  liste2  
    	if (selection=='liste2')
    	{
    		for (var i=0; i<document.formulaire.liste2.options.length; i++) 
    		{
    			document.formulaire.liste2.options[i].selected = false;
    		}
    	}
    }

    et ceux à quoi ressemble le formulaire:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form name="formulaire" method="POST" action="resu.asp">
     
    	<select name="liste1" size="10" id="liste1" onClick="sursubmit('liste2');">
    	...
    	</select>
     
    	<select name="liste2" size="10" id="liste2" onClick="sursubmit('liste1');">
    	...
    	</select>
     
    </form>

    Tout ceci fonctionne parfaitement sous Firefox,Opéra,Safari,Chrome...
    Mais pas sous Internet Explorer

    Auriez-vous une idée?
    Dernière modification par Invité ; 29/10/2008 à 12h25.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (selection=='liste1')
    {
    if (document.getElementById('liste1').selectedIndex>0)
       document.getElementById('liste1').selectedIndex = -1;
    }


    A+

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Attention, si ta première ligne a une valeur il faut tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (document.getElementById('liste1').selectedIndex>=0)
    Sinon ça ne fonctionnera pas si la sélection est sur cette première ligne ...

    A+

  4. #4
    Invité
    Invité(e)
    Par défaut
    oui tu a raison pour le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (document.getElementById('liste1').selectedIndex>=0)
    merci.

    en revanche le:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       document.getElementById('liste1').selectedIndex = -1;
    ne fonctionne pas.

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Damocles49 Voir le message
    en revanche le:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('liste1').selectedIndex = -1;
    ne fonctionne pas.


    Sous IE 6, si (testé)

    EDIT : ainsi que sous FF3 (testé à l'instant)

    A+

  6. #6
    Invité
    Invité(e)
    Par défaut
    Mea culpa, mea maxima culpa

    Je t'ai mal relu d'où mon erreur,
    Tu a raison cela fonctionne desormais sur Firefox 3, Opéra 9, Safari, Chrome
    ainsi que sur internet explorer 6 et 7.

    Donc voici un récapitulatif du résultat:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function sursubmit(selection)
    {
    	if (selection=='liste1')
    	{
    		if (document.getElementById('liste1').selectedIndex>=0)
    			document.getElementById('liste1').selectedIndex = -1;
    	}
     
    	if (selection=='liste2')
    	{
    		if (document.getElementById('liste2').selectedIndex>=0)
    			document.getElementById('liste2').selectedIndex = -1;
    	}
    }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form name="formulaire" method="POST" action="resu.asp">
     
    	<select name="liste1" size="10" id="liste1" onClick="sursubmit('liste2');">
    	...
    	</select>
     
    	<select name="liste2" size="10"  id="liste2" onClick="sursubmit('liste1');">
    	...
    	</select>
     
    </form>

    ps: j'ai garder les onClick qui fonctionne ...

    Merci E.Bzz & SpaceFrog

    Aller un p'tit pour la peine !!!
    Dernière modification par Invité ; 29/10/2008 à 18h16.

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

Discussions similaires

  1. [Joomla!] Étoiles pour voter du composant Seyret non visibles sur Internet Explorer
    Par filiplarlibe dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 06/09/2009, 18h24
  2. [AJAX] compatibilité liste déroulante liée avec Internet Explorer IE
    Par pasc06 dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 09/12/2008, 19h16
  3. Faire un plugin pour internet explorer
    Par snyff dans le forum Windows
    Réponses: 2
    Dernier message: 11/05/2004, 19h18
  4. Créer un plug-in pour Internet Explorer
    Par giaco dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/06/2003, 18h12

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