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 :

masquer un champ : pb sous IE


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 57
    Points : 36
    Points
    36
    Par défaut [RESOLU] masquer un champ : pb sous IE
    Bonjour,

    suivant ce que je selectionne dans une liste déroulante j'affiche ou non certains champs d'un formulaire. Cela passe nikel sous Firefox mais pas sous IE

    voici le code html
    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
     
     
     <TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0 valign=top>
        <tr>
        <td width=200><div class='label'>".$oTierType->label."</td>
        <td>".$oTierType->GetHtml()."</div></td></tr>        
        <tr><td><div id='label_structure' >".$oTierParent->label."</div></td>
         <td><div id='ctrl_structure'>".$oTierParent->GetHtml()."&nbsp;&nbsp;</div>
    </td></tr>
         <tr><td id='label_civilite'><div class='label' >".$oTierCivilite->label."</div></td>
         <td id='ctrl_civilite'>".$oTierCivilite->GetHtml()."</div></td></tr>
          <tr><td><div class='label'>".$oTierNom->label."</td>
          <td>".$oTierNom->GetHtml()."</div></td></tr>
          <tr><td><div class='label'>".$oTierMail->label."</td>
         <td>".$oTierMail->GetHtml()."</div></td></tr>
         <tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr>
    </TABLE></div>";
    et voici le javascript
    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
     
    function onChangeTypeTier (oCtrlSelect)
    {
    	var val_type;
    	val_type = oCtrlSelect.options[oCtrlSelect.selectedIndex].value;
     
    	  if (document.getElementById) {
     
    	 label_structure = document.getElementById("label_structure");
    	 ctrl_structure = document.getElementById("ctrl_structure");
    	 label_civilite = document.getElementById("label_civilite");
     	 ctrl_civilite = document.getElementById("ctrl_civilite");
     
    	 switch (val_type) {
    	 	case '0':		
     
    			label_civilite.style.visibility = 'hidden';
    			ctrl_civilite.style.visibility = 'hidden';
     
    			ctrl_structure.style.visibility = 'hidden';
    			label_structure.style.visibility = 'hidden'; 
     
    		break;
     
      		case '1':
    			label_civilite.style.visibility = 'visible';
    			ctrl_civilite.style.visibility = 'visible';
     
    			ctrl_structure.style.visibility = 'visible';
    			label_structure.style.visibility = 'visible';
     
     
    		break;
     		}
    		}
     
    }
    Quelqu'un peut-il m'expliquer pourquoi cela ne passe pas sous IE?

    merci

    à+

  2. #2
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    je te conseil la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // afficher
    document.getElementById('element').style.display = '';
    // masquer
    document.getElementById('element').style.display = 'none';

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    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 893
    Points : 16 350
    Points
    16 350
    Par défaut
    Citation Envoyé par arnolem
    je te conseil la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // afficher
    document.getElementById('element').style.display = '';
    // masquer
    document.getElementById('element').style.display = 'none';
    Mettre une chaine vide pour un display peut poser problème avec certains navigateurs.

    Il vaut mieux mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // afficher
    document.getElementById('element').style.display = 'block'; /* ou inline */

Discussions similaires

  1. [AC-2007] Masquer un champ sous condition
    Par sandralep84 dans le forum IHM
    Réponses: 5
    Dernier message: 27/08/2012, 15h05
  2. [AC-2003] Masquer un champ d'un sous-formulaire
    Par vlksoft dans le forum IHM
    Réponses: 4
    Dernier message: 20/10/2009, 06h37
  3. Masquer les champs Index sous WO 2007
    Par locweb dans le forum Word
    Réponses: 5
    Dernier message: 17/06/2008, 12h59
  4. Créer un champ unique sous Entreprise Manager
    Par Kokito dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/11/2004, 09h54
  5. Champs Time sous Interbase 5
    Par PrinceMaster77 dans le forum InterBase
    Réponses: 3
    Dernier message: 06/04/2004, 21h52

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