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 d'un texte dans un document.


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut Affichage d'un texte dans un document.
    Voila mon problème :

    Je voudrais que lorsque quelqu'un clique sur un lien que cela fasse apparaître un texte juste en dessous et que lorsque qu'il reclique celui ci disparraise.


    voila ce que j'ai tenter :


    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
     
    <html>
    <head>
     
    <script language="JavaScript">
     
    function afficher(form1){
     
    document.write("testseset");
     
    }
     
    </script>
    </head>
    <body>
    		<h3> Note de Synthèse : Inventaire/Gestion de Parc </h3> 
    		<form name="form1">
    	<p><input type="button" value="Envoyer" onClick="afficher(form1)" > <a href='#' onClick="afficher(form1)">test</a></p>
    </form>
     
    <body>
    </html>

    Est-ce que quelqu'un aurait une idée ?

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    A quoi te sert ton paramètre form1 dans l'appel de ta fonction ?

    Sinon tu peux t'inspirer de ça :
    http://javascript.developpez.com/faq...Objs#TextCheck

  3. #3
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut
    le paramettre form1 c'est juste pour lui indiquez ce qu'il doit afficher


    par exemple une truc du style :

    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
    <html>
    <head>
     
    <script language="JavaScript">
     
    function afficher(nom){
     
    if(nom==glpi)
    {
    document.write("texte sur glpi");
    }
     
    if(nom==isa)
    {
    document.write("Texte sur isa");
    }
     
    if(nom==apache)
    {
    document.write("Le projet apache...");
    }
     
    }
     
    </script>
    </head>
    <body>
    		<h3> Note de Synthèse : Inventaire/Gestion de Parc </h3> 
    		<p><a href='#' onClick="afficher(glpi)">test</a></p>
                    <p><a href='#' onClick="afficher(isa)">test</a></p>
                    <p><a href='#' onClick="afficher(apache)">test</a></p>
    </form>
     
    <body>
    </html>
    J'ai vu la solution que tu ma proposer et j'y avais penser mais j'aimerait ne pas utiliser de formulaire. Le JavaScript ne permet pas d'inserer du texte dans un document ??? pourtant je les déjà vu sur d'autre site

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Je ne t'ai pas dit de passer par un formulaire, mais de t'en inspirer.

    Il faut éviter également d'utiliser document.write.

    Enfin, tu ne mets pas les quotes à l'appel de ta fonction, ni dans le code de ta fonction, pourtant c'est bien du texte.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="afficher('glpi')"

    Tu peux dans ce cas utiliser le DOM ou une bête fonction Javascript.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id="textDyn"></div>
    <a href="javascript:;" onclick="afficher('texte')">Blabla</a>

    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
     
    /* fonction innerHTML */
    function afficher(texte){
       if(nom == texte){
          document.getElementById('textDyn').innerHTML = 'Ton nouveau texte';
       }
       ...
    }
     
    /* DOM */
    function afficher(texte){
       if(nom == texte){
          document.getElementById('textDyn').appendChild(document.createTextNode('Ton nouveau texte'));
       }
       ...
    }
    Tu peux aussi, pour un meilleur référencement de ton texte, l'écrire dans des balises que tu masques/affiches selon le lien cliqué :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="texte1" style="display:none">Texte 1</div>
    <div id="texte2" style="display:none">Texte 2</div>
    <div id="texte3" style="display:none">Texte 3</div>
    <a href="javascript:;" onclick="afficher(document.getElementById('texte1')">Blabla1</a>
    <a href="javascript:;" onclick="afficher(document.getElementById('texte2')">Blabla2</a>
    <a href="javascript:;" onclick="afficher(document.getElementById('texte3')">Blabla3</a>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function afficher(obj){
       for(var i = 1; i <= 3; i++){
          document.getElementById('texte' + i).style.display = 'none';
       }
       obj.style.display = 'block';
    }

  5. #5
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut
    Merci bcp pour ton aide voilà la solution retenu que j'ai retenu qui me paraît très pratique :


    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
    <?session_start();?>
    <html>
    <head>
    <title>"Luffys IG Concept : PTI/Projet"</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
    	<meta http-equiv="Content-Style-Type" content="text/css" />
    	<meta http-equiv="Content-Language" content="fr" />
     
    <link rel="stylesheet" type="text/css" href="design.css">
     
    <script language="JavaScript">
     
    function afficher(nom){
     
    // Masque tous les div text1 a 3
     for(var i = 1; i <= 3; i++){
          document.getElementById('text' + i).style.display = 'none';
      }
     
     
       obj=document.getElementById(nom);
     
    // affichage du text cliquer
       if(obj.style.display=='none'){
       obj.style.display ='block';
       }
    // Masquage tu text cliquer
       else{
       obj.style.display ='none';
       }
     
     
    }
     
    </script>
     
    </head>
     
    <div id="conteneur">
    		<h1 id="header">
    		<?
    		$site='pti';
    		include('login.php');
    		include('annonce.php');?>
    		</h1>
    		<?
    		include('menu.php');
    		?>
     
    <?
    //VERIFICATION DE L'AUTHENTIFICATION DE L'UTILISATEUR
    		$auth=true;
    		if((!isset($_SESSION['login']))||(empty($_SESSION['login'])))
    		{
    		$auth=false;
    		}
     
    ?>
    		<div id="contenu">
     
    		<!-- NOTE DE SINTHESE-->
    		<h3> Note de Synthèse : Inventaire/Gestion de Parc </h3> 
     
     
    	<a href="javascript:" onClick="afficher('text1')"> Cliquer ici</a></p>
    	<div id="text1" style="display:none;">Mon texte a afficher</div>
     
     
     
    		</div>
    <p id="footer">Réalisation des codes xhtml & css et du design par Guilleret Florian</p>
    </div>
     
    <body>
    </html>

    Merci encore

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Ton test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // affichage du text cliquer
       if(obj.style.display=='none'){
       obj.style.display ='block';
       }
    // Masquage tu text cliquer
       else{
       obj.style.display ='none';
       }
    est inutile, dans tous les cas il passera dans le if, vu que juste avant tu fais une boucle pour les passer tous à none.

    Mon code était suffisant.

  7. #7
    Membre éclairé Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Par défaut
    erf j'ai oublier de modifier.

    Ta technique ne me convenait pas vu que je voulais :


    - on click sa affiche le div
    - on reclick sa l'enlève
    - ceci sans masquer les autres div
    - Ce n'était pas très souple si l'on veut rajouter un div il faut modifier le for...
    - Et puis les text1,2,3 ce n'est pas très pratique et explicite

    donc j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function afficher(nom){
       obj=document.getElementById(nom);
     
    // affichage du text cliquer
       if(obj.style.display=='none'){
       obj.style.display ='block';
       }
    // Masquage tu text cliquer
       else{
       obj.style.display ='none';
       }

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/07/2008, 09h23
  2. affichage d'un texte dans une case au survol de cette case
    Par grinder59 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 21/06/2007, 07h37
  3. Ouverture fenetre + affichage d'un texte dans un champ texte
    Par fabien14 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/03/2007, 10h09
  4. Affichage différent selon texte dans une case
    Par pingoo78 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 16h32
  5. Affichage d'un texte dans la barre d'état!
    Par chuart dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 12/04/2005, 12h47

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