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 :

récupération du texte d'un <option>


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut récupération du texte d'un <option>
    Bonjour à tous,
    je vai essayer d'être clair mais c'est pas gagné...
    j'ai un liste déroulante qui récupère les valeurs d'une requete php (des sessions et leurs dates début et fin).
    la valeur des options est le numsession; L'affichage dans la liste est du type "session du 'datedeb' à 'datefin' ". Je souhaite créer une fonction sur le onChange du select qui m'affiche dans un champ texte, en dessou de ma liste, la date de début de la session sélectionnée mais je ne voi pas trop comment m'y prendre.
    Quelqu'un pourait il m'aider svp

  2. #2
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    Salut,

    c'est faisable avec du javascript!

    tu récupères ta balise <select>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s = document.getElementById('id_du_select');
    pour récupérer l'option selectionnée c'est : s.selectedIndex => ca te retourne le numéro (commence par 0)

    pour récupérer la valeur : s.options[s.selectedIndex].value => te retourne la value de ton option ou le libélé de ton option si tu n'as pas mis de value


    pour récupérer le libélé : s.options[s.selectedIndex].text => retourne ce qui est compris entre <option> et </option>



    Pour mettre à jour ton champ text il te suffit tout simplement de le récupérer de la même manière que ton select :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i = document.getElementById('id_du_input');
    tu récupères la valeur text de ton select (ci dessus)
    et tu mets à jour la valeur de ton input :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i.value = valeur de ton champ <option>



    voila j'espère que j'ai répondu à ta question

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    Merçi beaucoup pour ta réponse,
    c'est exactement ce que je voulai savoir

    par contre est-ce-que je peu ne récupérer qu'une partie du texte?

    Pour l'instant je récupère dans mon champ texte "session du 'jjdeb'/'mmdeb'/'aaaadeb' au 'jjfin'/'mmfin'/'aaaafin' et ce que je voudrai c'est simplement 'jjdeb'/'mmdeb'/'aaaadeb', est-ce possible?

  4. #4
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    en fait tu peux couper ton texte!

    Il faut voir avec le traitement des chaines de caractères!
    Va sur google et tu tapes : javascript chaines de caractères et tu trouveras ton bonheur

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    Merçi beaucoup

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    J'ai beau chercher je ne trouve pas le moyen d'extraire les nombres inclus dans une chaine de caractère.
    J'ai essayer d'utiliser substring, mais mais dates n'on pas tous la meme taille (ex 31/8/2006 et 26/10/2006) du coup une fois sur deux je récupère une date tronquée.

    Arrange-toi pour tes dates aient toujours le même format en espérant que ce soit toi qui crée cette chaine de caractère.

    Mow

  7. #7
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut Expression régulière
    salut


    =>ici



    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var madate = "14-07-2003";
    var elements = madate.split(/(-|\.)/);
    madate = elements.join("/");
    Au pire si tu ne sais pas comment ton visiteur choisi la date tu peux mettre plus de caractère entre parenthèse.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    mes dates sont au bon format dans une bdd postgresql(aaaa/mm/jj). Je les récupèrent par une requete : d'abord le jour,puis le mois et l'année, mais dans le résultat la requete me jicle les zero inutile, mais ça ce n'est plus un pb js...

  9. #9
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    split() => la fonction javascript est ta solution!

    elle te permet de faire une sorte de explode() qui est une fonction php!

    Elle te retourne donc un tableau avec les éléments de ta chaine.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    je l'ai essayée tout à l'heure mais je n'ai pas trouvé les bon arguments...

    j'ai faitsplit(" "). Ca me renvoi un tableau dands lequel je voudrai accéder au 3eme index,si c faisable c génial!

  11. #11
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    Je t'ai donné un exemple plus haut:

    En voila un autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    d = "2006-09-01";
    tab = d.split((/(-|\./)/);
     
    annee = tab[0];
    mois = tab[1];
    jour = tab[2];

    Les paramètres de split() sont les différences séparateur qui peuvent exister pour une date, mais si tu as envie, tu peux en rajouter...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    lol, j'avai pas vu ton post, excuse moi...

  13. #13
    Membre expérimenté Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Par défaut
    pas grave

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    Ca fonctionne nikel !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function maj_date_deb_form(idselect,idinput)
    {
    s = document.getElementById(idselect);
    i = document.getElementById(idinput);
    var tab=s.options[s.selectedIndex].text.split(" ");
    i.value=tab[2];
    }
    Je te remercie énormément de m'avoir aidé, tout seul je me serai compliqué la tache.
    @+

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

Discussions similaires

  1. récupération de données de case d'option
    Par flower dans le forum Access
    Réponses: 8
    Dernier message: 03/05/2006, 14h46
  2. Récupération de texte avec win32::ole
    Par bluecurve dans le forum Modules
    Réponses: 2
    Dernier message: 22/02/2006, 16h47
  3. [Etat]afficher texte des groupes d'options
    Par 419 dans le forum IHM
    Réponses: 2
    Dernier message: 12/09/2005, 15h30
  4. Récupération du texte d'un lien hypertext
    Par -=ET=- dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/05/2005, 17h08
  5. Problème de récupération de texte de formulaire
    Par bigourson dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2004, 16h27

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