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 de formulaire ]


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut [ affichage de formulaire ]
    Bonjour,

    J'ai besoin d'un peu d'aide.
    Je vous explique mon problème. J'ai un formulaire avec une liste déroulante.

    J'aimerai que quand un service est séléctionné (en l'occurence service 'Engineering'), des cases à cocher apparaissent en dessous du menu déroulant. J'y suis arrivé mais cela fonctionne uniquement sur FireFox et pas sur IE.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select name="Service" size="1" onchange=" showEngineer( this ) ; " onkeyup="showEngineer( this ) ; ">
    <option value="Engineering">Engineering</option>
    <option value="IT">IT</option>
    <option value="Specification">Specifications</option>	
    </select>
    Voici mon code javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function showEngineer( _this ) {
    if ( _this.value == 'Engineering' ) {
    document.getElementById( 'engineer_fields' ).style.display = "table-row" ;
    }
    else {
    document.getElementById( 'engineer_fields' ).style.display = "none" ;
    }
    }

    Et en ce qui concerne les cases à cocher que je voudrais faire apparaitre, elles sont dans le code mais cacher grâce au CSS


    Voici mon code CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #engineer_fields {display : none ;}
    Voila, j'ai essayé d'être le plus clair possible, n'hésitez pas si vous avez des questions.

    Merci.

  2. #2
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById( 'engineer_fields' ).style.display = "table-row" ;
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById( 'engineer_fields' ).style.display = "inline" ;
    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 !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Non, en faite, vu que mes cases à cocher sont dans un tableau, il faut que je mette

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById( 'engineer_fields' ).style.display = "table-row" ;
    Cela fonctionne parfaitement sur FireFox mais pas sur IE.

  4. #4
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    oui ben tout le problème à l'air de venir du fait qu'IE ne connaitrait pas table-row ...

    essaye
    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 !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Alors, je viens d'essayer les 2 solutions que tu m'as propposé.

    2 cas de figure, lorsque je met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById( 'engineer_fields' ).style.display = "inline" ;
    Cela fonctionne sur IE mais il m'affiche mes cases à cocher un peu n'importe comment sur FF

    Lorsque je met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById( 'engineer_fields' ).style.display = "" ;
    ça fonctionne toujours sur IE mais ne m'affiche pas du tout mes cases à cocher sur FF

  6. #6
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    display='block' ?
    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 !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Non meme pas, je crois que j'ai essayé tous les attributs.

    Le meilleur résultat que j'ai obtenu pour l'instant, en utilisant "inline" c'est l'affichage des cases à cocher sur IE et FF mais sur FF, elles ne s'affichent pas corretement.

  8. #8
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    elles sont dans des tableaux ?

    tu peux filer le code html des objets cachés ?
    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 !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <tr id="engineer_fields">	
    <td width="50">&nbsp;</td>					
    <td class="champs">Diffusion List : </td>		
    <td class="champs"><input type="checkbox" name="DevelopmentTeam" value="yes" id="DevelopmentTeam" /> <label for="DevelopmentTeam">F10 Development Team</label> <input type="checkbox" name="Engineering" value="yes" id="Engineering"/><label for="Engineering"> F10 Engineering</label></td>	
    </tr>

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Là, t'as tout ce qu'il faut pour tester le résultat

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <script type="text/javascript">
    function showEngineer( _this ) {
    if ( _this.value == 'Engineering' ) {
    		document.getElementById( 'engineer_fields' ).style.display = "inline" ;
    	}
    	else {
    		document.getElementById( 'engineer_fields' ).style.display = "none" ;
    	}
    }
     
     
     
    </script>
    <style type="text/css">
     
    #engineer_fields {display : none ;}
     
    </style>
    <body>
     
    		<table height="100%" width="800" border="0" cellpadding="3">	
    				<tr>
    					<td width="50">&nbsp;</td>
    					<td class="champs">Service :</td>
    					<td>
    					<select name="Service" size="1" onchange=" showEngineer( this ) ; " onkeyup="showEngineer( this ) ; ">
    					<option>< ------- Choose a service ------- ></option>	
    					<option value="Administration">Administration</option>
    					<option value="Engineering">Engineering</option>
    					<option value="IT" >IT</option>	
    					</select> 
    					</td>	
    				</tr>	
    				<tr id="engineer_fields">	
    					<td width="50">&nbsp;</td>					
    					<td class="champs">Diffusion List : </td>		
    					<td class="champs"><input type="checkbox" name="DevelopmentTeam" value="yes" id="DevelopmentTeam"> <label for="DevelopmentTeam"> Development Team </label> <input type="checkbox" name="Engineering" value="yes" id="Engineering"><label for="Engineering"> Engineering</label></td>	
    				</tr>
    			</table>
    </body>

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Problème résolu

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    	<title></title>
     
    	<script type="text/javascript">
     
    function showEngineer() {
    	var fields = document.getElementById("engineer_fields");
     
    	if (document.getElementById("Service").value == 'Engineering') {
    		fields.style.display = "" ;
    	}
    	else {
    		fields.style.display = "none" ;
    	}
    }
     
    window.onload = showEngineer;
     
    	</script>
    </head><body>
     
    <table height="100%" width="800" border="0" cellpadding="3">	
    				<tr>
    					<td width="50"> </td>
    					<td class="champs">Service :</td>
    					<td>
    					<select id="Service" name="Service" size="1" onchange="showEngineer();" onkeyup="showEngineer();">
    					<option>< ------- Choose a service ------- ></option>	
    					<option value="Administration">Administration</option>
    					<option value="Engineering">Engineering</option>
    					<option value="IT" >IT</option>	
    					</select> 
    					</td>	
    				</tr>	
    				<tr id="engineer_fields">	
    					<td width="50"> </td>					
    					<td class="champs">Diffusion List : </td>		
    					<td class="champs"><input type="checkbox" name="DevelopmentTeam" value="yes" id="DevelopmentTeam" /> <label for="DevelopmentTeam">Development Team </label> <input type="checkbox" name="Engineering" value="yes" id="Engineering" /><label for="Engineering">Engineering</label></td>	
    				</tr>
    			</table>
     
    </body></html>

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

Discussions similaires

  1. Ordre d'affichage des formulaires
    Par cdumas dans le forum Access
    Réponses: 3
    Dernier message: 04/05/2006, 12h15
  2. Réponses: 2
    Dernier message: 19/04/2006, 16h29
  3. Affichage dans formulaire
    Par Marmouz dans le forum Access
    Réponses: 2
    Dernier message: 13/04/2006, 20h33
  4. [vba-excel] Affichage de formulaire
    Par decour dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/12/2005, 11h04
  5. Réponses: 18
    Dernier message: 08/12/2004, 14h04

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