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

Langage PHP Discussion :

Remplir un champ de texte en fonction d'une liste déroulante.


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 236
    Par défaut Remplir un champ de texte en fonction d'une liste déroulante.
    Bonjour,

    Dans mon formulaire je m’intéresse à cette partie du code :

    Code PHP : 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
     
    <select name="annee" id="annee" onChange="menuToSpan(this.options[this.selectedIndex]);">
    	<?php for ($k= date('Y') ; $k>1929 ; $k--) {echo '<option value="'.$k.'">'.$k.'</option>';} ?>
    </select>
     
    	<label for="categorie">Catégorie</label>
    	<input name="categorie" placeholder="Catégorie" id="targetValue" disabled><br>
     
    <script>
    //Changer la catégorie en fonction de la date.
    function menuToSpan(object) 
    {
       var obj = document.getElementById("targetValue");
       obj.value = object.value;
    }
    </script>

    Dans cette partie, l'utilisateur sélectionne sa date de naissance et en fonction de son choix, sa catégorie apparaît.
    Mon script fonctionne mais m'affiche la date sélectionné dans le champ de texte, je ne sais pas comment insérer un texte.

    Aussi, j'aimerais que la sélection corresponde à ce tableau :

    http://www.noelshack.com/2014-51-141...egorie-age.png

    Exemple : Si l'utilisateur est né entre 1976 et 1992, le champ de texte se remplie du mot "Senior".

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est plus en Javascript qu'en PHP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function menuToSpan(object) 
    {
       var obj = document.getElementById("targetValue");
     if (object.value >= 1976  and object.value <= 1992) {
            obj.value = "Senior";
     else {
           obj.value = "Autre";
     }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 236
    Par défaut
    Merci pour la rapidité de réponse et la réponse car le code fonctionne parfaitement !

    J'aimerais savoir si il était possible en javascript, avec un for admettons, d'utiliser l'année d'aujourd'hui (2014 donc) pour pouvoir trouver nos résultat, exemple :

    for (38-date && 22-date) //2014-38 = 1976 et 2014-22 = 1992 car il faut que je prenne en compte le temps.
    {
    senior
    }

    En regardant sur le net j'ai vu qu'on pouvait récupérer l'année actuelle avec : "getFullYear()"

    J'ai testé ce code :

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function menuToSpan(object) 
    {
       var date = getFullYear();
       var date2 = getFullYear();
       var obj = document.getElementById("categorie");
       date = date - 38;
       date2 = date2 - 22;
       if (object.value >= date && object.value <= date2) 
       {
          obj.value = "Senior";
       }
    }

    Mais ça ne marche pas.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 236
    Par défaut
    C'est bon j'ai réussi à faire ce que je voulais, pour ceux à qui ça interesserais :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function menuToSpan(object) 
    {
       var date = new Date();
       var date = date.getFullYear();
       var obj = document.getElementById("categorie");
       if (object.value >= date-38 && object.value <= date-22) 
       {
          obj.value = "Senior";
       }
     
    }

    Merci beaucoup sabotage pour ta réponse qui m'a bien aidé.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/07/2015, 15h30
  2. [WD-2010] Afficher un texte en fonction d'une liste déroulante
    Par fmailys dans le forum VBA Word
    Réponses: 3
    Dernier message: 07/09/2014, 13h55
  3. [AC-2003] Zone de texte en fonction d'une liste déroulante
    Par pikayo dans le forum IHM
    Réponses: 13
    Dernier message: 11/08/2011, 10h06
  4. <DEBUTANT> Remplir une zone de texte en fonction d'une liste
    Par Superbretzel dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 26/05/2008, 20h40
  5. Réponses: 4
    Dernier message: 10/08/2006, 16h26

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