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] [javascript] modification de l'attribut 'multiple' d'un <select>


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retrait�
    Inscrit en
    Novembre 2005
    Messages
    2 613
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Finist�re (Bretagne)

    Informations professionnelles :
    Activit� : Retrait�
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par d�faut [DOM] [javascript] modification de l'attribut 'multiple' d'un <select>
    Saluton,
    Avec le code suivant le <select> demeure en 'multiple' :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function montre(table,liste,vider){
        cache();
        if(document.formsql.bascule.value=='select'){
            document.getElementsByName(liste).multiple=true;
            }
        else{
            document.getElementsByName(liste).multiple=false;        
            }
        vide(liste);
        document.getElementById(table).style.display='block';
        }
    L'attribut 'multiple' d'une <select> est-il modifiable en javascript, et si oui, comment ?
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment �muler un tableau crois� [quasi] dynamique
    et : Une �nigme math�matique r�solue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retrait�
    Inscrit en
    Novembre 2005
    Messages
    2 613
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Finist�re (Bretagne)

    Informations professionnelles :
    Activit� : Retrait�
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par d�faut
    Quelques heures plus tard, apr�s un tour � la FNAC o� j'ai fait l'acquisition du livre d'�ric Sarrion 'Pratique de CSS et JavaScript', je sais maintenant que la classe objet DOM Select comporte un attribut 'type' qui peut prendre la valeur 'select-multiple' ou 'select-one'.
    Ce qui ne change pas grand chose � mon probl�me, le code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function montre(table,liste,vider){
        cache();
        alert(document.getElementsByName(liste).multiple);
        if(document.formsql.bascule.value=='select'){
            document.getElementsByName(liste).type='select-multiple';
            }
        else{
            document.getElementsByName(liste).type='select-one';      
            }
        vide(liste);
        document.getElementById(table).style.display='block';
        }
    ne se montrant pas plus efficient que le pr�c�dent.
    Si quelqu'un a une piste, je suis preneur.
    Merci.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment �muler un tableau crois� [quasi] dynamique
    et : Une �nigme math�matique r�solue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retrait�
    Inscrit en
    Novembre 2005
    Messages
    2 613
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Finist�re (Bretagne)

    Informations professionnelles :
    Activit� : Retrait�
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par d�faut
    Bon, h� bien il semble que cette propri�t� ne soit accesible qu'en lecture :
    la console javascript de Firefox vient de me retourner le message suivant :
    setting a property that has only a getter
    http://localhost/requeteur/Maquette/fonctions.js line 106
    et la ligne 106 c'est celle-l� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementById(liste).type='select-one';
    �a veut dire que je vais devoir charger deux exemplaires de chaque <select> l'un en select-multiple l'autre en select-one et masquer et/ou afficher l'un ou l'autre en fonction des besoins. C'est vraiment bourrin.
    Bon, si personne n'a mieux je mettrai ce post en RESOLU demain.
    @+
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment �muler un tableau crois� [quasi] dynamique
    et : Une �nigme math�matique r�solue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  4. #4
    Invit� de passage
    Inscrit en
    Janvier 2007
    Messages
    1
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 1
    Par d�faut
    Tu peux essayer de passer par l'attribut "multiple"

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    if(document.formsql.bascule.value=='select'){
            document.getElementsByName(liste).multiple=true;
            }
    else{
            document.getElementsByName(liste).multiple=false;
            }
    D�sol� si c'est trop tard mais bon, �a servira � d'autres...

    edit: Au temps pour moi, je n'avais pas vu le d�but.... chez moi �� marche correctement, changer l'attribut multiple me change le select...

  5. #5
    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
    if(document.formsql.bascule.value=='select'){
    Me semble un peu bizarre ce test...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if (leSelect.tagName.toLower="select"
    Et sinon, tu peux tester :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    setAttribute("multiple","on")

  6. #6
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retrait�
    Inscrit en
    Novembre 2005
    Messages
    2 613
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Finist�re (Bretagne)

    Informations professionnelles :
    Activit� : Retrait�
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par d�faut
    Je vous le confirme, l'attribut DOM `multiple` n'est accessible qu'en lecture.
    Merci tout de m�me pour votre sollicitude.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment �muler un tableau crois� [quasi] dynamique
    et : Une �nigme math�matique r�solue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [DOM Javascript]R�cup�rer les attributs
    Par gabychon dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 02/05/2006, 15h21
  2. [DOM] [javascript] pb IE/Firefox
    Par topolino dans le forum XSL/XSLT/XPATH
    R�ponses: 1
    Dernier message: 12/12/2005, 10h20
  3. [XML][XSL][DOM][JAVASCRIPT]melanger le tout, laisser reposer
    Par mitsein dans le forum XSL/XSLT/XPATH
    R�ponses: 2
    Dernier message: 16/07/2004, 16h56
  4. R�ponses: 8
    Dernier message: 28/04/2004, 16h53

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