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 :

[javascript] Probleme visibility


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut [javascript] Probleme visibility
    Bonjour a tous,

    Je voudrais afficher a la demande plusieurs elements d'un formulaire.
    Voici ma fonction en 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
     
    function function_select(i)
    {
       if(i==0)
       {
    	for(x=1; x<20; x++)
    	{	
    		var monElement = document.getElementById('article_'+x);
    		 monElement.style.display = 'none';
    		 monElement.style.visibility = 'hidden';
    		alert(monElement.style.visibility+' test sur : '+x);
    	}
       }
       else
       {
            i = parseInt(i) + 1;
     
    	for(x=1; x<i; x++)
    	{
    		document.getElementById('article_'+x).style.visibility='visible';
    	}
       }
    }
    A la fin du chargement de ma page HTML j'appel ma fonction avec en argument 0. Dans tous les alert je retrouve bien la valeur hidden cependant tous mes Element restent visible.
    Je ne comprend pas.

    Je ne rappel pas ma fonction entre temps. Les id des mes Elements sont bien places, et orthographie de la meme maniere.
    Mes Element sont des <div>. J'utilise d'autres <div> englobant le tout pour ma mise en page, dans ceux-ci aucun appel a visibility.

    J'ai teste sous firefox et sous IE, meme resultat.

    Si quelqu'un a une idée pour m'eclairer ?

    Je vous remercie de vos réponses.

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monElement.style.display = 'none';
           monElement.style.visibility = 'hidden';
    si il est en display:none il n'est pas dans le flux de la page ...
    pass le d'abord en display='' ou 'block'
    puis rend le visible ...
    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 éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Je viens de tester, cela ne change rien....

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    et dans le code html ils ont un style visibility ou display initialisé ?
    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 éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    pas d'initialisation dans le code HTML ni pour visibility ni pour display dans aucun des DIV de ma page.

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ben essaye deja d'attrribuer le style dans le code html eb css par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .hidden {display:none;
                  visibility:hidden;}
     
    <div class="hidden">
    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 éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Je viens d'essayer cela ne change rien mes elements restent visible:

    exemple dans mon code HTML (boucle PHP):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="article_10" style="display:none; visibility:hidden;">
    Merci en tout cas du temps que tu m'accorde.

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    tu peux mettre le code html js complet ?
    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 éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Je ne vais mettre que ma boucle en PHP, le code JS est le meme qu'au dessus:

    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
     
    <?
    		if($nb>0)
    		{	
    			for($y=1;$y<20;$y++)
    			{
    				echo "\n<div id=\"article_".$y."\" style=\"display:none; visibility:hidden;\"><tr>";
    				echo "<td>";
    					echo "Choisir l'article numéro ".$y." : ";
    				echo "</td>";
    				echo "<td>";
    					echo "\n<select name=\"article_".$y."\" >";
    					echo "<option value=0>Choix</option>";
    					for($w=0;$w<$nb;$w++)
    					{
        		 				echo "\n<option value=".$id_article_tab[$w].">".$titre_tab[$w]."</option>";
     
    					}
    					echo "\n</select>";
    				echo "</td>";
    				echo "</tr></div>\n";	
    			}	
    		?>

  10. #10
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ça le donne rien je ne connais pas php ...

    donne moi un exemple de code html avec la structure de ton form avec les divs ...
    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 !

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Voici le code HTML généré (pour deux tours de boucle) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id="article_1" style="display:none; visibility:hidden;"><tr><td>Choisir l'article numéro 1 : </td><td>
    <select name="article_1" ><option value=0>Choix</option>
    <option value=1>Premier article</option>
    </select></td></tr></div>
     
    <div id="article_2" style="display:none; visibility:hidden;"><tr><td>Choisir l'article numéro 2 : </td><td>
    <select name="article_2" ><option value=0>Choix</option>
     
    <option value=1>Premier article</option>
    </select></td></tr></div>

  12. #12
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ???

    ce code marche a merveille chez moi ...
    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
     
    <script type='text/javascript'>
    function function_select(i)
    {
       if(i==0)
       {
       for(x=1; x<3; x++)
       {   
          var monElement = document.getElementById('article_'+x);
           monElement.style.display = 'none';
           monElement.style.visibility = 'hidden';
          alert(monElement.style.visibility+' test sur : '+x);
       }
       }
       else
       {
            i = parseInt(i) + 1;
     
       for(x=1; x<i; x++)
       {
       		document.getElementById('article_'+x).style.display=''
          document.getElementById('article_'+x).style.visibility='visible';
       }
       }
    } 
     
    </script>
    </head>
     
    <body onload="function_select(2)">
    <div id="article_1" style="display:none; visibility:hidden;">
    	<table>
    		<tr><td>Choisir l'article numéro 1 : </td><td>
    <select name="article_1" ><option value=0>Choix</option>
    <option value=1>Premier article</option>
    </select></td></tr>
     
    <div id="article_2" style="display:none; visibility:hidden;"><tr><td>Choisir l'article numéro 2 : </td><td>
    <select name="article_2" ><option value=0>Choix</option>
     
    <option value=1>Premier article</option>
    </select></td></tr> 
    </body>
    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 !

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Je ne comprend rien. En essayant ceci qui est beaucoup plus proche de mon code et en virant tout le superflu ca marche :

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <script type='text/javascript'>
    function function_select(i)
    {
       if(i==0)
       {
       for(x=1; x<3; x++)
       {   
          var monElement = document.getElementById('article_'+x);
           monElement.style.display = 'none';
           monElement.style.visibility = 'hidden';
          alert(monElement.style.visibility+' test sur : '+x);
       }
       }
       else
       {
            i = parseInt(i) + 1;
     
       for(x=1; x<i; x++)
       {
             document.getElementById('article_'+x).style.display=''
          document.getElementById('article_'+x).style.visibility='visible';
       }
       }
    }
     
    </script>
    </head>
     
    <body>
     
    <select name="nb_article" onChange="javascript:function_select(this.value)">
    			<option value=0>Choix</option>
    			<? 
    				for($i=1;$i<20;$i++)
    				{
     
    					echo "<option value=".$i.">".$i."</option>\n"; 
    				}
    			?>
    			</select>
     
     
    <div id="article_1" style="display:none; visibility:hidden;">
       <table>
          <tr><td>Choisir l'article numéro 1 : </td><td>
    <select name="article_1" ><option value=0>Choix</option>
    <option value=1>Premier article</option>
    </select></td></tr>
     
    <div id="article_2" style="display:none; visibility:hidden;"><tr><td>Choisir l'article numéro 2 : </td><td>
    <select name="article_2" ><option value=0>Choix</option>
     
    <option value=1>Premier article</option>
    </select></td></tr>
    </body>

  14. #14
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    a quel moment et comment appeles tu la fonction ?
    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 !

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Sur le OnChange du select au-dessus, regarde le code poste juste precedement.

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Je viens d'isoler le probleme cela ne me donne toujours pas la solution !

    Voici le code de toute la page :

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
     
    <title></title>
     
     
    <script type="text/javascript">
     
     
    function function_select(i)
    {
       if(i==0)
       {
    	for(x=1; x<4; x++)
    	{	
    		var monElement = document.getElementById('article_'+x);
    		 monElement.style.display = 'none';
    		 monElement.style.visibility = 'hidden';
     
    	}
       }
       else
       {
            i = parseInt(i) + 1;
     
    	for(x=1; x<i; x++)
    	{
    		document.getElementById('article_'+x).style.display='' 
    		document.getElementById('article_'+x).style.visibility='visible';
    	}
       }
    }
    </script>
     
    </head>
     
     
    <body>
     
     
     
     
    		<table border="0">
    		<tr>
    			<td>
    				Saisir le nombre d'article de cette parution:
    			</td>
    			<td align="center">
    			<select name="nb_article" onChange="javascript:function_select(this.value)">
    			<option value=0>Choix</option>
    			<? 
    				for($i=1;$i<20;$i++)
    				{
    					echo "<option value=".$i.">".$i."</option>\n"; 
    				}
    			?>
    			</select></td>
    		</tr>
     
    		<div id="article_1" style="display:none; visibility:hidden;"><tr><td>Choisir l'article numéro 1 : </td><td>
    <select name="article_1" ><option value=0>Choix</option>
     
    <option value=1>Premier article</option>
    </select></td></tr></div> 
     
    		<div id="article_2" style="display:none; visibility:hidden;"><tr><td>Choisir l'article numéro 2 : </td><td>
    <select name="article_2" ><option value=0>Choix</option>
     
    <option value=1>Premier article</option>
    </select></td></tr></div>
     
    		<div id="article_3" style="display:none; visibility:hidden;"><tr><td>Choisir l'article numéro 3 : </td><td>
    <select name="article_3" ><option value=0>Choix</option>
     
    <option value=1>Premier article</option>
    </select></td></tr></div>
     
    		</table>		
     
    </body>
     
     
    </html>
    Et lorsque je fais sauter le et bien magique ca marche sinon cela ne marche plus.

Discussions similaires

  1. [javascript] Probleme liste deroulante
    Par samtheh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2005, 14h13
  2. [HTML + JAVASCRIPT] probleme d'argument
    Par krony dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 05/12/2005, 10h57
  3. [html][javascript] probleme <select> affichage
    Par maysa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/09/2004, 15h17
  4. [Struts][javascript]Probleme de 'id' dans un <html:hidden
    Par FreshVic dans le forum Struts 1
    Réponses: 5
    Dernier message: 11/02/2004, 10h57

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