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 :

choix du select d'une balise options


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut choix du select d'une balise options
    Bonjour.

    j'ai une fonction javascript qui m'aide à sélectionner la valeur qui me convient dans un menu déroulant.

    Je récupère l'index du menu déroulant, je modifie mon menu, puis pour que la valeur sélectionnée soit la même qu'avant j'utilise l'index précédent pour reselectionner la valeur.

    Le code correspondant est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function setCardMin(respNumber) {
     var index = document.getElementById('cardMin'); 
     var selectedIndex = index.selectedIndex;
     [...]
     document.getElementById("cardMin").innerHTML = resultsCardMin;
     index.options[selectedIndex].selected = true;
    }
    Tout ceci marche très bien sous firefox.
    Mon problème vient du fait que je dois faire marcher tout ceci sur ie6 ....
    Celui-ci m'indique une erreur à la ligne "index.options[selectedIndex].selected = true;"

    voici l'erreur qu'il me donne:


    le "car3 qu'elle indique correspond, si mes déductions sont bonnes, au mot "selectionIndex".

    Je voudrais donc savoir si il existe une autre manière de réaliser ceci.

    Merci d'avance.

  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
    Bonjour,
    pour commencer je suggèrerais de renommer ta variablepuisque selectedIndex est déjà utilisé en JavaScript

    Dis-nous si l'erreur persiste ....

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut
    Bonjour.
    Tout d'abord merci d'avoir répondu aussi vite.

    J'ai fait ce que tu m'avais indiqué seulement une autre erreur stupide que j'avais déjà corrigé est réapparue entre-temps (erreur sur une ligne vide...) et cette fois-ci elle me résiste, je ne peux donc pas vérifier si ton astuce marche.

    Je reviendrai poster un message une fois que j'aurais pu vérifier.


    Encore merci

  4. #4
    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
    Ne fais pas trop confiance au n° de ligne du message d'erreur : il n'est pas toujours très précis

    Sinon, puisque tu sembles remplacer le contenu de ta liste via innerHTML, il serait préférable de le faire via les syntaxes DOM (new Option()), sinon, problèmes potentiels suivant les nav'.
    Un exemple ici.

    A+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut
    Merci du conseil mais en fait j'ai simplifié au maximum pour cerner le problème.

    En fait, je traite des question avec des réponses.
    Le menu déroulant me sert ici à permettre à l'utilisateur de sélectionner le nombre de réponses qui peuvent être faites pour cette question. (question à choix multiple) d'où le nom de la div : cardMin (il y a également une div cardMax).

    Ainsi, j'ajuste le nombre de valeurs disponibles dans le menu déroulant en fonction du nombre de réponses existant à la question. Il ne s'agit donc pas vraiment de recopier une ligne d'un menu déroulant vers un autre mais d'ajouter un ligne au menu déroulant, tout en conservant la valeur qu'avait sélectionné l'utilisateur.



    Pour ce qui est de faire confiance au numéro de ligne, je m'en aperçoit puisqu'il s'agit du 1477e caractère de cette ligne vide qui est concerné ^^

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut
    Au sujet du numéro de la ligne, le caractère incriminé indiqué est le 1477e. Est-ce que cela pourrait signifier que c'est le 1477e caractère après la ligne oubien il ne faut pas y faire attention non plus?

  7. #7
    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 HozakaN Voir le message
    Au sujet du numéro de la ligne, le caractère incriminé indiqué est le 1477e. Est-ce que cela pourrait signifier que c'est le 1477e caractère après la ligne oubien il ne faut pas y faire attention non plus?
    => il ne faut pas y faire attention non plus

    Je n'en tiens jamais compte, car il ne m'a jamais permis d'identifier une erreur
    Le n° de ligne, lui, est quand même une indication (à condition de regarder dans le bon fichier : ça peut être un .js en include sans que cela apparaisse dans le message )

    A+

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut
    Dans ce cas là comment faire pour avoir une page de code dans laquelle est affichée la page + les includes? :p

  9. #9
    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 HozakaN Voir le message
    Dans ce cas là comment faire pour avoir une page de code dans laquelle est affichée la page + les includes? :p
    Ben ... c'est ta page : tu connais ses include, non ?

    Il n'y a qu'à regarder au n° de ligne indiqué et voir si il y a un risque d'erreur à cet endroit.

    A+

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut
    Bonjour.

    J'ai enfin pu me remettre sur ce problème et j'ai de nouvelles informations sur l'erreur. J'ai renommé ma variable et l'erreur a changé pour :
    "'option[...]' a la valeur Null ou n'est pas un objet".
    En gros ie voudrait que ma variable soit un objet.

    J'ai donc créé un objet comme montré dans le tuto du site:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var obj = new Object();
    obj["indexx"]=selectedIndexx;
    puis je l'ai passé en paramètre de l'option
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    index.options[obj].selected = true;
    Cependant j'ai toujours la même erreur.
    J'ai également essayé avec obj.indexx mais ça n'a pas marché non plus.

    Je dois certain de mal m'y prendre mais pourrait-on me mettre sur la bonne voie svp?

    Merci d'avance

  11. #11
    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
    var l_index = selectedIndexx;
    ...
    index.options[l_index].selected = true;
    EDIT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var obj = new Object();
    ça aurait plutôt été Sauf que tu n'as visiblement pas besoin d'un array

    A+

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var l_index = selectedIndexx;
    ...
    index.options[l_index].selected = true;
    J'ai déjà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var index = document.getElementById('cardMin'); 
    		var selectedIndexx = index.selectedIndex;
    Donc ça n'a aucun effet de rajouter une autre variable intermédiaire.

  13. #13
    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 HozakaN Voir le message
    Donc ça n'a aucun effet de rajouter une autre variable intermédiaire.
    Je ne te dis pas que ce que tu essayes de faire a un intérêt, je corrige juste les erreurs de syntaxes et de type

    A+

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 104
    Par défaut
    C'était quoi l'erreur de syntaxe là? j'arrive pas à la voir

    je ne parle pas non plus de l'interêt de la chose mais de son effet sur le programme

Discussions similaires

  1. [1.x] Attribut class dans une balise option d'un select
    Par micky86 dans le forum Symfony
    Réponses: 1
    Dernier message: 25/10/2012, 13h20
  2. image en fond dans une balise <option>
    Par samplaid dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 16/07/2008, 23h52
  3. Récupérer l'attribut Title d'une balise option
    Par yoshï dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/03/2008, 19h00
  4. [HTML] largeur d'une balise <option>
    Par NikoBe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 09/11/2006, 12h52
  5. Aller à la ligne dans une balise <option>
    Par nebule dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/12/2004, 18h27

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