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 :

Afficher/cacher un Input au changement d'un Select


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut Afficher/cacher un Input au changement d'un Select
    Bonjour à tous.

    Alors voilà mon problème :
    J'ai un select que je j'utilise pour cacher ou non un input avec du JS. Les valeurs "une société" et "une association" affiche mon input alors que "un utilisateur" va le masquer.
    J'arrive bien à récupérer la valeur de mon select. Après la vérification la fonction JS ne marche plus...
    Voilà le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select name="typ" id='one' onchange="affiche(this.selectedIndex)">
    	<option value="0" <?php if (isset($_POST['typ']) and $_POST['typ'] == '0') {echo "selected='selected'";}?>>societe</option>
    	<option value="1" <?php if (isset($_POST['typ']) and $_POST['typ'] == '1') {echo "selected='selected'";}?>>asso</option>
    	<option value="2" <?php if (isset($_POST['typ']) and $_POST['typ'] == '2') {echo "selected='selected'";}?>>particulier</option>
    </select>
    <div id="supp"><label><?php echo nomsupp; ?>

    Le JS si besoin est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function affiche(choix){
    	switch (choix){
    	case 0 : 	document.getElementById('supp').style.visibility='visible'
    	break; 
    	case 1 : 	document.getElementById('supp').style.visibility='visible'
    	break;
    	case 2 : 	document.getElementById('supp').style.visibility='hidden'
    	break;
    	}
    }
    Pourquoi le PHP désactive-t-il le JS ? Merci d'avance !
    On appelle le Dr Freud aux urgences !!
    ------------
    Quelques règles simples qui font la différence :
    Rechercher - FAQ - Dire bonjour - Écrire en français - Balises [code] - Dire merci - Tag

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 272
    Points : 15 588
    Points
    15 588
    Par défaut
    essaye de faire une page html tout simple et regarde si tu as une erreur JavaScript
    au passage tu pourras aussi nous donner un lien vers cette page pour qu'on teste

  3. #3
    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 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    Voir la FAQ
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Alors j'ai simplifié mon formulaire pour que vous n'ayez que la partie qui pose problème
    En fait 3 cas se posent :

    Premier cas : je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="supp" <?php if (isset($_POST['typ']) and $_POST['typ'] == '2') {echo 'style="display:hidden;"';}?>>
    Même si l'utilisateur a choisit "particulier" l'input apparaît


    Deuxième cas : je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="supp" <?php if (isset($_POST['typ']) and $_POST['typ'] == '2') {echo 'style="display:none;"';}?>>
    Si l'utilisateur a choisit "particulier" l'input n'apparaît plus quand on change le select mais avec le display:none ça me semble logique


    Troisième cas : je mets
    Si l'utilisateur a choisit "société" et qu'il a rentré un nom, s'il décide de passer sur "particulier" l'input se masque bien mais en cas de revérification il apparaît à nouveau.

    Suis-je bien clair ?

    Edit : pas d'erreur JS avec Firebug
    On appelle le Dr Freud aux urgences !!
    ------------
    Quelques règles simples qui font la différence :
    Rechercher - FAQ - Dire bonjour - Écrire en français - Balises [code] - Dire merci - Tag

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Un problème de typage de tes variables non ?

  6. #6
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Citation Envoyé par SpaceFrog
    Voir la FAQ
    Donc je laisse tomber le PHP pour mes select ?
    Citation Envoyé par Bisûnûrs
    Un problème de typage de tes variables non ?
    Heu... Je comprends pas tout...
    On appelle le Dr Freud aux urgences !!
    ------------
    Quelques règles simples qui font la différence :
    Rechercher - FAQ - Dire bonjour - Écrire en français - Balises [code] - Dire merci - Tag

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Dans ta condition PHP :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $_POST['typ'] == '0'

    tu compares une chaîne, alors que dans ton switch Javascript :

    tu utilises un numérique.

  8. #8
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Pourquoi est-ce que j'essaye de faire tout ça moi...

    Comment parer ce problème ? Je commence à intégrer du JS alors je suis un peu paumé
    On appelle le Dr Freud aux urgences !!
    ------------
    Quelques règles simples qui font la différence :
    Rechercher - FAQ - Dire bonjour - Écrire en français - Balises [code] - Dire merci - Tag

  9. #9
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    En fait j'ai dit une connerie, ça n'a rien à voir.


    Confirmes-tu que si tu enlèves tes conditions PHP dans tes option ton code Javascript fonctionne ?

  10. #10
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Citation Envoyé par Bisûnûrs
    Confirmes-tu que si tu enlèves tes conditions PHP dans tes option ton code Javascript fonctionne ?
    Si j'enlève
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if (isset($_POST['typ']) and $_POST['typ'] == '0') {echo "selected='selected'";}?>
    après vérif il ne me redonne pas la valeur du select et si je passe sur "particulier" et que je revérifie il affiche #supp

    Si je supprime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if (isset($_POST['typ']) and $_POST['typ'] == '2') {echo 'style="display:hidden;"';} ?>
    après vérif il me redonne la valeur du select et si je passe sur "particulier" et que je revérifie il affiche #supp

    Dans tous les cas, pas d'erreur de JS et il fonctionne
    On appelle le Dr Freud aux urgences !!
    ------------
    Quelques règles simples qui font la différence :
    Rechercher - FAQ - Dire bonjour - Écrire en français - Balises [code] - Dire merci - Tag

  11. #11
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Heu, display:hidden ?

    Ton problème vient de là non ?

  12. #12
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Ben oui c'est évident... Faut mettre visibility...

    Merci Bisûnûrs
    On appelle le Dr Freud aux urgences !!
    ------------
    Quelques règles simples qui font la différence :
    Rechercher - FAQ - Dire bonjour - Écrire en français - Balises [code] - Dire merci - Tag

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

Discussions similaires

  1. afficher/cacher un input text
    Par jonnyboy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/09/2007, 10h08
  2. Afficher, cacher plusieurs divs
    Par Buku dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/03/2005, 10h28
  3. bouton pour afficher/cacher une toolbar ??
    Par pi05 dans le forum MFC
    Réponses: 3
    Dernier message: 07/02/2005, 22h05
  4. afficher / cacher div
    Par Cruelo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 13h48
  5. Besoin d'aide : afficher / cacher des layers
    Par mickeliette dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 21/10/2004, 11h03

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