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 :

onchange sur un SELECT : passage de paramètre


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 85
    Points : 52
    Points
    52
    Par défaut onchange sur un SELECT : passage de paramètre
    Bonjour,

    j'ai un onchange sur un SELECT qui appelle une fonction JS.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select name="monselect" onchange="monchange(this.value)">
       <option value="00">mavaleur00</option>
       <option value="01">mavaleur01</option>
       <option value="02">mavaleur02</option>
    </select>
    Grâce à la valeur passée, j'effectue certaines opérations.
    Jusque là pas de problèmes, seulement lors du submit de ma form, la valeur récupérée est forcemment = à l'attribut 'value' de l'option' sélectionnée.
    Hors, je voudrais récupérer encore une autre valeur lors du submit (différente du texte de l'option également).

    Donc :
    • Est-il possible de récupérer une autre valeur lors du submit ?

    ou
    • Est-il possible de passer une autre valeur à la fonction JS executée lors du onchange (une valeur qui serait différente pour chaque 'option') ?


    Je préfererais de loin la deuxième solution.

    J'espère que j'ai été clair et que qqn pourra m'apporter un peu d'aide.

    Merci à vous,

    NikoBe

  2. #2
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    Par défaut
    Citation Envoyé par NikoBe
    Jusque là pas de problèmes, seulement lors du submit de ma form, la valeur récupérée est forcemment = à l'attribut 'value' de l'option' sélectionnée.
    Hors, je voudrais récupérer encore une autre valeur lors du submit (différente du texte de l'option également).
    Ok mais c'est quoi ta valeur ? elle est dans un champs ? elle est défini ou ?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    this.options[this.selectedIndex].value

  4. #4
    Membre averti Avatar de nicocsgamer
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 321
    Points : 342
    Points
    342
    Par défaut
    Un champ caché que tu met également à jour sur le onChange su select ?

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 85
    Points : 52
    Points
    52
    Par défaut
    Ma valeur, c'est une autre valeur différente du texte affiché à l'utilisateur, et différente aussi de ce que contient l'attribut 'value'
    (une autre valeur genre 'aaa' pour l'option1, 'bbb' pour l'option 2, etc..)
    Et je voulais justement savoir s'il y avait moyen de la définir en tant qu'attribut de la balise <option> et savoir comment récupérer cet attribut.

    Si ce n'est pas possible, je crois que le mieux est de passer par un champ caché mis à jour à chaque onchange comme le dit nicocsgamer


    Merci bjîn

  6. #6
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    pourquoi tu ne passe pas une valeur post ou get si tu as besoin de recharger ta page sinon si tu doit pasé plusieur valeurs d'un coup bas fit un tableau associatif!

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 85
    Points : 52
    Points
    52
    Par défaut
    Je crois que je suis encore trop débutant pour faire ce genre de manipulation )
    Je connais même pas l'existence des tableaux associatifs


    Je vais essayer d'éclaircir un peu ce que je voudrais faire.
    En réalité, ce que je voudrais passer à ma fonction javascript lors du onchange, c'est juste un switch (Y/N) !
    En fonction de ce switch, la fonction javascript effectue un traitement particulier. Et je veut pas coder en dur "si telles valeurs, alors ok, sinon ko", vu que cette fonction doit rester générique.

    Donc, j'aurais voulu savoir s'il était possible de faire un truc du genre :
    (ou tout autre traitement similaire qui donnerait le même résultat)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select name="monselect" onchange="monchange(this.value2)">
       <option value="00" value2="Y">mavaleur00</option>
       <option value="01" value2="N">mavaleur01</option>
       <option value="02" value2="Y">mavaleur02</option>
        ...
    </select>
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function monchange(switch){
        if (switch == "Y"){
           monautrefonction();
       }
    }

  8. #8
    Expert éminent

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par NikoBe
    Je vais essayer d'éclaircir un peu ce que je voudrais faire.
    En réalité, ce que je voudrais passer à ma fonction javascript lors du onchange, c'est juste un switch (Y/N) !
    Mais ton value, il te sert aussi à quelque chose? Parceque sinon, tu peux le virer.

    Après, sinon, tu as deux options (en plus du hidden).
    Soit tu stockes la correspondance value / value2 dans une Array Javascript, soit tu concatenes value et value2 (type Y00) et tu auras simplement à couper ta chaine....

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 85
    Points : 52
    Points
    52
    Par défaut
    Oui, mon value me sert à qqch par la suite (à stocker en DB)

    Donc je crois que la meilleure solution est de concaténer le switch à la valeur oui (vu que je dois faire ça pour une bonne dizaine de <select>, j'ai pas envie de créer autant de tableau.. généricité, généricité !! )

    Merci beaucoup pour vos aides !!


    NikoBe

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

Discussions similaires

  1. onchange sur un select
    Par HwRZxLc4 dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 27/04/2007, 17h18
  2. propriété onChange sur un select, pb sous IE7 !
    Par avogadro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/02/2007, 15h46
  3. 2 actions sur evenement onchange sur champ Select
    Par falz222 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/08/2006, 20h59
  4. onChange sur un SELECT
    Par linar009 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/07/2006, 10h14
  5. [Onchange] sur checkbox selection ds une liste deroulante
    Par maxxou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2006, 00h17

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