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 :

valeur d'un input sur onchange


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut valeur d'un input sur onchange
    Bonjour

    J'ai une liste déroulante alimenté en SQL.
    Je souhaite, si l'on sélectionne Autre, afficher un input contenant le texte "précisez" (idéalement j'aurai souhaité que ça m'affiche "Précisez : [mon input]"

    Voici une partie de mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name='batiment' onchange="document.getElementById('autre_batiment').style.display = (this.options[this.selectedIndex].value=='autre'? 'block':'none');">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <tr><td>Précisez</td><td><input type="text" value="Précisez" id="autre_batiment" style="display:none;" value="toto"></td></tr>
    Dans ce code, je sais que mon texte "Précisez" sera toujours affiché, mais j'aimerai beaucoup le masquer si 'autre' n'est pas sélectionné dans la liste.

    Merci beaucoup pour votre aide

    Ps : L'input, lui, fonctionne bien (.
    Ps2 : Je débute en Js donc n'hésitez pas a me donner des astuces si ce que j'ai déjà fait n'est pas bon ...


    Merci

  2. #2
    Membre Expert Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Par défaut
    Il me semble que tu peux mettre ton display au niveau de ton tr.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut
    Bonjour Barsy

    Merci beaucoup pour ton aide, c'est très sympas de ta part.

    J'ai essayé de mettre le display dans le <tr> et effectivement cela fonctionne bien. Lorsque je sélectionne ma catégorie Autre, j'ai bien le texte et l'input qui s'affiche. Merci beaucoup.

    Par contre, cela m'apporte deux autres problème

    - Lorsque je selectionne 'autre', mon input s'affiche, ensuite je re-sélectionne un autre choix, mon input disparait, mais la 'ligne' reste créé, ce qui fait que si je m'amuse a sélectionner plusieurs fois 'autre' puis un autre choix, je crée une multitude de saut de ligne

    - Deuxième point, le texte 'Précisez' est légèrement décalé vers la droite, comme s'il y avait un espace devant, mais je ne vois rien de tel dans mon code

    Je met le code :
    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
    19
    20
    21
    22
    23
    24
     
    <tr><label><td>Bâtiment : </td><td><select name='batiment' onchange="document.getElementById('autre_batiment').style.display = (this.options[this.selectedIndex].value=='autre'? 'block':'none');">
    											<option value=""></option>
    														<?php
                                                                                                                    $batiment = mysql_query ("SELECT batiment FROM prise ORDER BY batiment");
                                                                                                                    while ($donnees = mysql_fetch_array($batiment) )
                                                                                                                    {
                                                                                                                            if ($donnees['batiment'] != $test)
                                                                                                                            {
                                                                                                                                    echo $donnees['batiment'];
                                                                                                                                    ?>
     
    																<option value="<?php echo $donnees['batiment']; ?>"><?php echo $donnees['batiment']; ?></option>
    																<?php
                                                                                                                                    $test= $donnees['batiment'];
                                                                                                                            }
                                                                                                                    }
                                                                                                                    ?>
    														<option value ="autre">autre</option>
    														</select>
    														</td></tr>
    		<tr id="autre_batiment" style="display:none;" ><td>Précisez :</td><td><input size="3" type='text' name='batiment' /></td></tr>
    		<tr><label><td>Etage : </td><td><input size="3" type='text' name='etage' /></td></label></tr>
    		<tr><label><td>Bureau : </td><td><input size="6" type='text' name='bureau' /></td></label></tr>
    et une petite capture d'écran pour bien comprendre le problème

    Nom : donnees.JPG
Affichages : 155
Taille : 19,1 Ko


    Merci beaucoup pour toute votre aide

    Bonne fin de journée

  4. #4
    Membre Expert Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Par défaut
    Il suffit de remplacer 'block' par ''

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut Merci

    Merci énormément Barsy.

    Ta solution fonctionne à merveille.

    Mon texte est parfaitement aligné, les sauts de lignes ont disparus... Que du bonheur.

    Merci encore pour toute ton aide en esperant, peut-être, un jour te rendre la pareil.

    Bonne fin de journée à toi Barsy et merci encore

  6. #6
    Membre Expert Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Par défaut
    De rien ça fait toujours plaisir de rendre service !!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut Même problème avec checkbox
    Bonjour,

    Je rencontre a nouveau le même problème mais avec une checkbox...

    J'ai une checkbox appelé 'Autre', et je souhaiterai, lorsque je coche, que cela me fasse apparaitre un input 'précisez'

    Merci encore pour votre aide

    Mind

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

Discussions similaires

  1. recuperer valeur d'une liste deroulante dans variable php sur onchange()
    Par logone dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 03/02/2012, 10h12
  2. Démarrer exécution sur onChange input hidden
    Par dubitoph dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/07/2011, 18h33
  3. Réponses: 1
    Dernier message: 06/03/2010, 18h44
  4. Réponses: 3
    Dernier message: 28/03/2008, 16h51
  5. changement valeur select et interaction sur input
    Par Hisander dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/09/2007, 17h12

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