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 :

affichage d'un certain nombre de calendriers selon un nombre sélectionné dans une liste déroulante


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut affichage d'un certain nombre de calendriers selon un nombre sélectionné dans une liste déroulante
    Bonjour,

    truc tout simple mais je dois oublier quelque chose
    voici ma finction JS

    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
     
    function nbCalendrier()
    {
    if(document.getElementById(nb_cal).value==1){document.getElementById(nb).value=1;}
    if(document.getElementById(nb_cal).value==2){document.getElementById(nb).value=2;}
    if(document.getElementById(nb_cal).value==3){document.getElementById(nb).value=3;}
    if(document.getElementById(nb_cal).value==4){document.getElementById(nb).value=4;}
    if(document.getElementById(nb_cal).value==5){document.getElementById(nb).value=5;}
    if(document.getElementById(nb_cal).value==6){document.getElementById(nb).value=6;}
    if(document.getElementById(nb_cal).value==7){document.getElementById(nb).value=7;}
    if(document.getElementById(nb_cal).value==8){document.getElementById(nb).value=8;}
    if(document.getElementById(nb_cal).value==9){document.getElementById(nb).value=9;}
    if(document.getElementById(nb_cal).value==10){document.getElementById(nb).value=10;}
    if(document.getElementById(nb_cal).value==11){document.getElementById(nb).value=11;}
    if(document.getElementById(nb_cal).value==12){document.getElementById(nb).value=12;}
    }
    et voici mon select et le champs dans lequel je souhaite récupérer la valeur sélectionnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <select name="nb_calendrier" id="nb_cal" class="inputRecherche12pxSelect largeurSelectRecherche" onClick="nbCalendrier()">
    					<option selected="selected" value="-1" />
    					<?php
                                            $i=1;
                                            for($i;$i<=12;$i++)
                                            {
                                            echo
                                            '<option value="'.$i.'">'.$i.' mois</option>';
                                            }?>
    				</select>
    				<input type="text" name="rech_cal" id="nb" />
    Merci de votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 26
    Points : 23
    Points
    23
    Par défaut Pas bien compris ce que tu veux faire...
    Voici un exemple simple que tu pourrais adapter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
    function viewaddselection(){
    	var selindex = document.getElementById('selectnum').selectedIndex // Index de l'option sélectionnée
    	alert (document.getElementById('selectnum').options[selindex].value + ", " + document.getElementById('selectnum').options[selindex].text); // Affiche la valeur et le texte de l'option sélectionnée
    	document.getElementById('champtext').value = document.getElementById('selectnum').options[selindex].value; // La valeur du champtext = la valeur de l'option séléctionnée
    }
    </script>
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <select id='selectnum'>
    <option value="1"> Un</option>
    <option value="2"> Deux</option>
    <option value="3"> Trois</option>
    </select>
     
    <input type="button" onclick="javascript:viewaddselection()" value='Click me'>
     
    <input type="text" id='champtext'>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Merci de répondre,

    mais le but serais justement de ne pas avoir de bouton...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut un peu plus d'explications
    J'ai une appli qui permet de réserver des ressources(salle,vidéo-projecteur,etc) dans mon entreprise.On m'a demandé de faire une fonction de réservation en cascade( sur plusieurs mois, d'où ma liste déroulante sur 12 valeurs). Selon la valeur choisie je souhaite donc afficher de un à 12 petits calendriers.
    Mais je voudrais que cela se fasse sans avoir à valider mon formulaire par un bouton.

    Cela est-il plus clair?et possible?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 26
    Points : 23
    Points
    23
    Par défaut ???
    Merci de décrire un peu ce que tu souhaites.

    Peut-être onchange est-il suffisant?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
    function viewselection(){
    	var selindex = document.getElementById('selectnum').selectedIndex // Index de l'option sélectionnée
    	alert (document.getElementById('selectnum').options[selindex].value + ", " + document.getElementById('selectnum').options[selindex].text); // Affiche la valeur et le texte de l'option sélectionnée
    	document.getElementById('champtext').value = document.getElementById('selectnum').options[selindex].value; // La valeur du champtext = la valeur de l'option séléctionnée
    }
    </script>
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <select id='selectnum' onchange='javascript:viewselection()'>
    <option value="1"> Un</option>
    <option value="2"> Deux</option>
    <option value="3"> Trois</option>
    </select>
     
     
    <input type="text" id='champtext'>

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    J'avais essayé avec onChang et ça ne change rien je pense que cela vient de mon javascript, mais je n'en fais pas depuis longtemps

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par ballantine's Voir le message
    J'ai une appli qui permet de réserver des ressources(salle,vidéo-projecteur,etc) dans mon entreprise.On m'a demandé de faire une fonction de réservation en cascade( sur plusieurs mois, d'où ma liste déroulante sur 12 valeurs). Selon la valeur choisie je souhaite donc afficher de un à 12 petits calendriers.
    Mais je voudrais que cela se fasse sans avoir à valider mon formulaire par un bouton.

    Cela est-il plus clair?et possible?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 26
    Points : 23
    Points
    23
    Par défaut c'est plus clair
    voici une correction de ton code (il manquait les quotes autour des ids)

    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
    18
    <script>
    function nbCalendrier()
    {
    if(document.getElementById('nb_cal').value==1){document.getElementById('nb').value=1;}
    if(document.getElementById('nb_cal').value==2){document.getElementById('nb').value=2;}
    if(document.getElementById('nb_cal').value==3){document.getElementById('nb').value=3;}
    if(document.getElementById('nb_cal').value==4){document.getElementById('nb').value=4;}
    if(document.getElementById('nb_cal').value==5){document.getElementById('nb').value=5;}
    if(document.getElementById('nb_cal').value==6){document.getElementById('nb').value=6;}
    if(document.getElementById('nb_cal').value==7){document.getElementById('nb').value=7;}
    if(document.getElementById('nb_cal').value==8){document.getElementById('nb').value=8;}
    if(document.getElementById('nb_cal').value==9){document.getElementById('nb').value=9;}
    if(document.getElementById('nb_cal').value==10){document.getElementById('nb').value=10;}
    if(document.getElementById('nb_cal').value==11){document.getElementById('nb').value=11;}
    if(document.getElementById('nb_cal').value==12){document.getElementById('nb').value=12;}
    }
     
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <select name="nb_calendrier" id="nb_cal" class="inputRecherche12pxSelect largeurSelectRecherche" onClick="nbCalendrier()">
    					<option selected="selected" value="-1" />
    					<option value="1">1 mois</option>
    					<option value="2">2 mois</option>
    					<option value="3">3 mois</option>
    					<option value="4">4 mois</option>
    				</select>
    				<input type="text" name="rech_cal" id="nb" />
    PS: Quand je ne parviens pas à trouver les erreurs de js, j'utilise la console d'erreur de firefox (ctrl + Maj + J)

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Merci beaucoup àa fonctionne, mias je me doutais que c'était une erreur bête.

    Cette commande ctrl + Maj + J me permettra de voir les erreurs de JS c'est ça mais que sous firefox?

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    C'est plus propre et plus rapide d'utiliser l'instruction switch et case que ces plusieurs if.
    De plus dans tous les cas, tu affectes les valeurs testés à l'élément nb.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('nb').value=document.getElementById('nb_cal').value
    j'utilise la console d'erreur de firefox (ctrl + Maj + J)
    Le mieux c'est d'utiliser Firefox.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    Je ne sais pas ce qui existe dans les autres browsers.

    J'utilise également sous firefox cet outil: http://chrispederick.com/work/web-developer/

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Cela ne fonctionne pas totalement comme je voulais...ensuite je veux récupérer la valeur de 'nb' mais je n'y arrive pas du coup mes calendriers ne s'affiche pas. y-a-t-il un autre moyen de faire en Javascript?

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/04/2015, 10h48
  2. [XL-2007] Compléter certaines cellules selon le choix fait dans une liste déroulante
    Par Dart974 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/10/2014, 14h59
  3. Réponses: 0
    Dernier message: 24/09/2014, 22h58
  4. Réponses: 17
    Dernier message: 15/08/2010, 05h22
  5. [FORMULAIRE] affichage selon le choix dans une liste déroulante.
    Par gailup dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/06/2006, 14h58

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