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 :

Liste déroulante - fonction js associée


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut Liste déroulante - fonction js associée
    Bonjour à tous,

    J'ai une liste déroulante d'actions à réaliser, mais je ne sais pas comment implémenter la fonction qui les réalise.

    Pour le moment, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select onchange='top.location=this.options[this.selectedIndex].value'>
       <option value=''></option>
       <option value='url1'>...</option>
       <option value='url2'>...</option
       ...
    </select>
    Je précise que url1 et url2 sont de véritables url, du style http://www.---.com/---.php

    Je voudrais ajouter des actions qui se passeront dans la même page (par exemple : supprimer l'élément auquel est associé la liste d'actions). Sur ces actions, il me faudrait accès à du php qui réalise l'action.
    Je voudrais également avoir certaines actions qui ouvrent une nouvelle page (pour le moment top.location ouvre la page de destination dans la page actuelle de navigation)

    En résumé :
    - actions sans ouverture de page
    - actions ouverture d'une page dans la même fenêtre
    - actions ouverture d'une page dans une nouvelle fenêtre

    J'ai essayé de changer les option value en nombres (au lieu d'urls, par exemple <option value='1'></option>) et d'appeler une fonction onchange='go()' qui fait des choses en fonction de la value récupérée, mais je ne sais pas quoi mettre dans cette fonction.

    Merci à ceux qui pourront me donner un coup de pouce, je débute en js et j'ai vraiment du mal !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange='top.location.href=this.options[this.selectedIndex].value'

  3. #3
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    Merci SpaceFrog pour ta réponse, cependant je ne vois pas comment je peux réaliser les 3 choses que je veux faire avec ton code.

    Je veux, selon l'item sélectionné :
    _ ouvrir une nouvelle fenêtre
    _ ou ouvrir une nouvelle page dans la même fenêtre
    _ ou faire de l'ajax pour faire une modification dans la page

    Peux-tu m'éclairer sur ta réponse ?

  4. #4
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    Personne n'a une idée ?

  5. #5
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    Est-ce qu'une solution serait de ne pas mettre de onchange et d'utiliser des onclick sur chaque <option> ?


    [edit] J'ai testé et ça ne marche pas sous IE... [/edit]

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    les options n'ont pas d'évènement onclick

    je ne comprend vraiment pas ou est ton problème...





    faius une focntion qui fait tout ce que tu veux et appelle là dans le onchange du select ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange='mafonction(this.options[this.selectedIndex].value)
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function mafocntion(lien){
    alert(lien);
    window.open(lien)
    }

  7. #7
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    J'ai trouvé ce bout de code sur le forum mais je ne sais pas comment l'utiliser pour chaque <option> ni où le mettre :

    object.setAttribute('onclick', function(){alert('test'));
    object.onclick=function(){alert('test')}

  8. #8
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    Je n'arrive même pas à lancer ma fonction sur le onchange :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script type='text/javascript'>
      function mafonction(choix, bien) {
    	alert ('ok') ;
      }
    </script>
     
    <select onchange='mafonction(this.options[this.selectedIndex].value, <?php echo $id ; ?>)'>
    	<option value=''></option>
    	<option value='1'>Modifier l'annonce</option>
    	<option value='2'>Fiche Agence</option>
    </select>
    Où est l'erreur ???

  9. #9
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    Merci SpaceFrog, je n'avais pas vu ta réponse avant maintenant. Mon problème, c'est que selon le cas j'ouvre ou non une fenêtre, c'est ça qui me pose un souci.

    Je suis désolée si mes questions paraissent simplistes, je découvre js, avant je n'utilisais que php parce que je travaille avec des bases de données.

    Si quelqu'un peut me dire d'où vient mon erreur, ça m'aiderait grandement. En faisant un onchange='alert(this.options[this.selectedIndex].value)' j'ai bien la valeur récupérée mais avec ma fonction j'ai l'erreur objet attendu à la ligne 1 de ma page (alors que bien sûr à la ligne 1 ça n'a rien à voir, c'est le header de la page... et il n'y avait pas d'erreur à cette ligne sans la fonction).

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    dans le php et les quotes ?


    parceque ça ça fonctionne sans souci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <script type='text/javascript'>
      function mafonction(choix, bien) {
    	alert (choix) ;
      }
    </script>
     
    </script>
    </head>
     
    <body style="background-color:silver;">
    <select onchange="mafonction(this.options[this.selectedIndex].value, 'ok')">
    	<option value=''></option>
    	<option value='1'>Modifier l'annonce</option>
    	<option value='2'>Fiche Agence</option>
    </select>
    </body>

  11. #11
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    Merci, mais même sans passer la valeur de la variable php $id, en mettant la valeur bateau 1 :
    onchange='mafonction(this.options.[this.selectedIndex].value, 1)'
    ça ne fonctionne pas. Peut-être que le problème vient de l'ajax, car mon <select> est inséré dans la page à l'aide d'ajax.

  12. #12
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    C'était ça ! J'ai inséré le script dans la page principale au lieu de la page d'ajax, et ça fonctionne. Pour le reste, je devrais me débrouiller.

    Merci en tout cas pour ta patience SpaceFrog !!!

  13. #13
    Membre habitué Avatar de dream_of_australia
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 167
    Points : 136
    Points
    136
    Par défaut
    PS : Au tout début avant de commencer à poster, je me suis retrouvée bloquée parce que j'avais appelé ma fonction selection et apparemment c'est un mot-clé réservé de js. Bon à savoir !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/05/2014, 15h20
  2. [XL-2007] Liste déroulante et couleur associée aux items
    Par guy2004 dans le forum Excel
    Réponses: 4
    Dernier message: 02/02/2011, 18h40
  3. [AC-2003] Liste Déroulante Fonction Choix Contrôle
    Par delcroixf dans le forum IHM
    Réponses: 3
    Dernier message: 21/10/2009, 18h45
  4. Clic dans une liste déroulante et action associée
    Par RENAUDER dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 29/01/2009, 16h11
  5. Création de listes déroulante fonction d'une valeur
    Par toutoune60 dans le forum Excel
    Réponses: 3
    Dernier message: 11/04/2008, 11h11

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