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 :

[FORMULAIRE] affichage selon le choix dans une liste déroulante.


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut [FORMULAIRE] affichage selon le choix dans une liste déroulante.
    Bonjour,

    Je fait mon site web en PHP, donc je ne connait pas trop de Javascript.

    Mon problème se situe au niveau d'un formulaire.
    J'ai une liste déroulante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select name='affichage' size='1'>
              <option selected value='0'> - Choisir - </option>
              <option value='text'>texte seul</option>
              <option value='Onepicture'>texte avec une image</option>
              <option value='TwoPicture'>texte avec deux image</option>
    </select>
    En fait c'est un formulaire pour créer une nouvelle news dans mon site.
    Selon ce qu'on sélectionne (texte, 1 image ou 2 image) j'affiche une zone de texte de type 'file' pour télécharger les images s'il a lieu. Je voudrai faire ceci sans qu'on doit cliquer sur un bouton (le faire automatiquement dès que le choix à été fait.

    Si c'est possible, pouvez-vous me dire comment.

    Merci d'avance.
    Gailup.

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    un seul mot: onchange
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Comment l'utilise t-on cette fonction "OnChange"


    Merci.
    Gailup.

  4. #4
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Le onchange il faut le mettre dans la balise Select comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="taFonctionJavascript()">
    la fonction devra vérifier l'option qui est sélectionnée, et afficher ou non le champ en question (pas exemple avec l'attribut de style "display")

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Pouvez-vous me donner un exemple, c'a sera gentil.

    Par exemple j'ai une liste déroulante avec 2 option : option 1 et option 2.
    Suivant ce qu'on choisi, on affiche vous avez sélectionner l'option X (X = 1 ou 2).

    Merci d'avance.
    Gailup.

  6. #6
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function taFonction(){
      if(this.value == 1){//cas avec champ file
        document.getElementById("tonChampFile").Style.display = "bloc";
      }
      else if(this.value == 2){//cas sans champ file
        document.getElementById("tonChampFile").Style.display = "none";
      }
    }

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    J'ai trouver le code suivant sur un site web :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function affichage(){
      var indice_selectionne=document.pige.compris.selectedIndex ;
      var valAffichage=document.pige.compris.options[indice_selectionne].value ;
      switch (valAffichage){
        case "ni" : document.pige.texter.value="et voilà, c'est reparti !" ;  break ;
        case "na" : document.pige.texter.value="toujours dur de travailler..." ; break ;
        case "ne" : document.pige.texter.value="quand cela va-t'il finir ?" ; break ;
        case "nu" : document.pige.texter.value="hum, l'odeur du week-end !!!" ; break ;
        case "nov" : document.pige.texter.value="encore un jour et c'est bon !" ; break ;
        case "ny" : document.pige.texter.value="Waoow ! On y est..." ; break ;
        default : document.pige.texter.value="Pourvu que ça dure..." ; break ;
    }
    }
    Par contre quand je modifie la ligne : document.pige.texter.value="toujours dur de travailler..." ; par document.write("Mon texte") ;
    Quand je sélectionne cette ligne avec le menu déroulant, le texte : "Mon texte" s'affiche dans une nouvelle fenêtre.

    Comment faire pour ne pas avoir de nouvelle fenêtre.
    Gailup.

  8. #8
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    dans ta fonction le switch est très bien, mais le contenu des case n'a strictement rien à voir avec ce que tu veux faire. Je te conseille de reprendre le contenu de mon if dans les case.
    PS: inutile d'utiliser document.write dans ce contexte... si tu veux modifier une page déjà chargée, tu dois le faire à travers le DOM

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/01/2011, 09h34
  2. Réponses: 3
    Dernier message: 02/11/2009, 08h31
  3. Réponses: 1
    Dernier message: 27/10/2008, 19h41
  4. Réponses: 2
    Dernier message: 01/08/2006, 23h24
  5. affichage selon le choix d'une liste déroulante
    Par cell dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/07/2006, 10h16

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