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 :

[HTML/Javascript] Une Liste déroulante


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Points : 35
    Points
    35
    Par défaut [HTML/Javascript] Une Liste déroulante
    Bonjour,

    J'ai un code à modifier mais je connais très peu Javacript. Il faut dans mon cas que je crée une liste deroulante et que le choix qui aura été sélecionné soit récupéré.
    Je n'ai pas testé (car je ne le peux pas encore) mais je crois comprendre que pour lier du code html à du Javascript, il faut faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <FORM NAME="Choix">
    <SELECT NAME="Liste" onChange="Recup()">
    <OPTION VALUE="">Choisir une option
    <OPTION VALUE="mail">Mail
    <OPTION VALUE="lettre">Lettre
    </SELECT>
    </FORM>
    La function Javascript Recup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function Recup() {
    	val = document.Choix.Liste.selectedIndex;
    	if (val == 0) return;
    	choice = document.Choix.Liste.options[i].value;
    }
    Est-ce que de cette manière, choice contiendra mail dans le cas ou j'aurais selectionné MAIL ?

    Merci

  2. #2
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par maxlegrand Voir le message
    Est-ce que de cette manière, choice contiendra mail dans le cas ou j'aurais selectionné MAIL ?
    Presque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <FORM NAME="Choix">
    <SELECT NAME="Liste" onChange="Recup()">
    <OPTION VALUE="">Choisir une option
    <OPTION VALUE="mail">Mail
    <OPTION VALUE="lettre">Lettre
    </SELECT>
    </FORM>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function Recup() {
    	val = document.forms['Choix'].element['Liste'].selectedIndex;
    	if (val == 0) return;
    	choice = document.forms['Choix'].element['Liste'].options[val].value;
    }
    La syntaxe était un peu "dépassée", et puis tu utilisait un "i" inconnu au lieu de val comme indice ...

    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    Merci.
    La variable choice sera maintenant accessible partout dans le fichier et pas uniquement dans cette fonction?
    Par exemple, si j'ai une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function test()
    {
    <!--
    	Ici,j'utilise choice,c'est permis ? Si ce n'est pas le cas comment faire ?
    -->
    }

  4. #4
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par maxlegrand Voir le message
    La variable choice sera maintenant accessible partout dans le fichier et pas uniquement dans cette fonction?
    Oui, sous réserve que tu la déclares en variable globale.
    Ca revient à la déclarer en dehors d'une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var choice = '';
    function Recup() {
    	val = document.forms['Choix'].element['Liste'].selectedIndex;
    	if (val == 0) return;
    	choice = document.forms['Choix'].element['Liste'].options[val].value;
    }
    function UneAutreFonction () {
    alert(choice);
    }
    A+

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    Je remonte ce topic car j'ai une autre question. Je ne pourrais pas tester avant plusieurs jours. Je dois modifier un code existant pour intégrer le choix qui a été saisie dans la liste déroulante.

    Actuellement le fichier que je dois modifier contient des lignes du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <a href="$cgi_name.cgi?year=104">2004</a>
    </td></tr><tr align="center"><td>
    <a href="$cgi_name.cgi?year=105">2005</a>
    </td></tr><tr align="center"><td>
    <a href="$cgi_name.cgi?year=106">2006</a>
    Je vais modifier ces lignes pour intégrer le choix comme ceci :
    Est-ce que ce que j'écris est correct ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script language="JavaScript">
    		<!--
    			function lien(year) {
    				window.location = "$cgi_name.cgi?year=year&choice=" + choice;
    			}
    		// -->
     
    		<a href="Javascript:lien(104);">2004</a>
    		</td></tr><tr align="center"><td>
    		<a href="Javascript::lien(105)">2005</a>
    		</td></tr><tr align="center"><td>
    		<a href="Javascript::lien(106)">2006</a>
    </script>
    Ensuite, si je fais :
    Est-ce que j'obtiendrais mail dans le cas ou c'est mail que je choisis ?

    Merci

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Points : 284
    Points
    284
    Par défaut
    Salut,

    tu as juste une petite erreur la :
    window.location = "$cgi_name.cgi?year=year&choice=" + choice;
    Fait plutot ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    window.location = "$cgi_name.cgi?year="+year+"&choice=" + choice;
    Tu as aussi écrit des javascript::lien() au lieu de javascript:lien() mais bon je pense que c'est plus une faute de frappe.

    Ensuite, si je fais :
    Code :

    param("choice")
    Est-ce que j'obtiendrais mail dans le cas ou c'est mail que je choisis ?
    Pour récupérer ton paramètre c'est tu fais quoi exactement ? du perl ?
    Auquel cas tu as un tuto la : http://perl.developpez.com/faq/?page...36#sectionC36b
    Ca a l'air de ressembler a ce que tu as mis mais perso j'y connais rien en perl..

    voila, j'espère t'avoir aidé...

Discussions similaires

  1. [RegEx] Analyse de code HTML d'une liste déroulante
    Par sigmoun dans le forum Langage
    Réponses: 7
    Dernier message: 19/08/2009, 13h57
  2. Réponses: 4
    Dernier message: 10/08/2006, 16h26
  3. Réponses: 4
    Dernier message: 09/08/2006, 10h41
  4. lier une liste déroulante et un simple texte HTML
    Par gregolak dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/07/2006, 15h42
  5. javascript : accès a une liste déroulante.
    Par pierreonxbox dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/03/2006, 11h20

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