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 div


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut Affichage d'un div
    Bonjour à tous,

    Je pense que je ne suis pas le seul à venir avec ce genre de problème tout con sur ce forum.

    Je vous explique.

    J'ai un formulaire dans une fonction site();
    Dans ce formulaire j'ai un choix,

    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
     
    <tr>
    		<th>D&#233duire du contrat de maintenant</th>
    		<td> <input type=radio name=deduire onClick=\"visibilite('input_non');\" id=deduire value=oui>Oui</input> <input type=radio onClick=\"visibilite('input_non');\" id=deduire name=deduire value=non>Non</td>
    	</tr>
    </table>
    <div id=\"input_non\" style=\"display:none;\">
    <table>
    	<tr>
    		<th> Taux Horaire : </th>
    		<td><div id=\"input_non\" style=\"display:none;\">
    		<input  type=text name=site_taux >
    		</td>
    	</tr>
    </table>
    Ce que je désire moi c'est que lorsque le technicien, clique sur "Non", j'ai ma div "input_non" qui s'affiche, et qui disparait si il change et clique sur "Oui".

    voilà ma fonction javascript, je n'est aucune connaissances en JS à mon grand regret..

    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
     
    <script type="text/javascript" language="javascript">
    			function visibilite(thingId) {
    				var targetElement;
    				targetElement = document.getElementById(thingId) ;
     
    				if (targetElement.style.display == "") 
    				{
    					if (document.getElementById('deduire').value=='oui') {
    						tergetElement('input_non').style.display = "none" ;
    					} 
    					else 
    					{
    						document.getElementById('input_non').style.display = "" ;
    					}
    				} 
    				else 
    				{
     
    					if (document.getElementById('deduire').value=='non') {
    						tergetElement('input_non').style.display = "" ;
    					} 
    					else 
    					{
    						document.getElementById('input_non').style.display = "none" ;
    					}
    				}
    			}
    		</script>
    Merci de votre aide.

    Anaata.

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tergetElement('input_non')
    elle est ou 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 !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Merci de ta réponse rapide.

    Mais j'ai du mal à comprendre le fonctionnement du JS, que veux tu dire pas ou est la fonction?

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    c'est quoi tergetElement ?
    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 habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Erreur de ma part dans mon code tergetElement n'existe pas, il s'agit de targertElement, qui est ma variable JS qui recoit : document.getElementById(thingId) ;

    où thingId = input_non, qui est le nom de ma div a caché/affiché.

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Tu as donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tergetElement('input_non').style.display = "none" ;
    ???



    =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    targetElement.style.display = "none" ;
    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 habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Voilà donc ma fonction JS, mais toujours aucun succès, il faut vraiment que je me met au JS..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <tr>
    		<th>D&#233duire du contrat de maintenant</th>
    		<td> <input type=radio name=deduire onClick=\"visibilite('input_non');\" id=deduire value=oui>Oui</input> <input type=radio onClick=\"visibilite('input_non');\" id=deduire name=deduire value=non>Non</td>
    	</tr>
    </table>
    <div id=\"input_non\" style=\"display:none;\">
    <table>
    	<tr>
    		<th> Taux Horaire : </th>
    		<td><div id=\"input_non\" style=\"display:none;\">
    		<input  type=text name=site_taux >
    		</td>
    	</tr>
    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
     
    	<script type="text/javascript" language="javascript">
    			function visibilite(thingId) {
    				var targetElement;
    				targetElement = document.getElementById(thingId) ;
     
    				if (targetElement.style.display == "") 
    				{
    					if (document.getElementById('deduire').value=='oui') {
    						targetElement.style.display = "none" ;
    					} 
    					else 
    					{
    						targetElement.style.display = "" ;
    					}
    				} 
    				else 
    				{
     
    					if (document.getElementById('deduire').value=='non') {
    						targetElement.style.display = "" ;
    					} 
    					else 
    					{
    						targetElement.style.display = "none" ;
    					}
    				}
    			}
    		</script>

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 25
    Par défaut
    pour ré-afficher met "block" à tes style.display. enfin block n'est pas la seul option pour afficher, mais c'est la principal, après sa dépend de se que t'as besoin.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Merci de ton conseil,
    mais donc il n'y pas d'erreur dans mon script ci-dessus?
    Malgré le block, aucun résultat...

  10. #10
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonsoir,
    que signifient les échappement des guillemets (\")dans ton code ?

    Il manque des guillemets autour des attributs dans les balises

    Il n'existe pas de balise de fermeture des INPUT </input>.

    Concernant la façon de récupérer la valeur des radios boutons : avec un getElementById('deduire'), tu ne récupères que la valeur du premier soit oui dans tout les cas.
    rappel
    UNE ID DOIT ETRE UNIQUE, ce qui n'est pas ton cas.

    Il te faut récupérer le radio checked via la méthode getElementsByName
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var oChecked  = document.getElementsByName('deduire');
    if( oChecked[0].checked){
      // à faire si le premier est coché
    }

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Bonjour,

    Merci à tous pour votre aide.

    j'ai finalement réussi en testant de mon coté, et au final j'ai réussit a faire ce que je voulais grâce à ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $nom=$res_client['nom'];
    <SCRIPT LANGUAGE="JavaScript"> 
    		function popup() {
    			// ouvre une fenetre sans barre d'etat, ni d'ascenceur
    			w=open("",'popup','width=400,height=200,toolbar=no,scrollbars=no,resizable=yes');	
    			w.document.write("<TITLE>"+document.forms[0].elements["nom"].value+"</TITLE>");
    			w.document.write("<BODY> Bonjour "+document.forms[0].elements["tel"].value+"<BR><BR>");
    			w.document.write("</BODY>");
    			w.document.close();
    		}
    </script>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <A HREF='javascript:popup()'>$nom_client<
    Voilà, merci à tous pour votre aide, je comprend un peu mieu le JS.

    @NoSmoking, pour le </input> je ne le met jamais, c'est un de mes collègues qui a du le rajouter dans le code ^^.
    et les (\") sont pour que la balise echo les interprète tel quel et non pas comme une fin de echo.

    Amnesia

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    pourquoi ai je l'impression d'être passé à coté du problème

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

Discussions similaires

  1. Changement d'url avant affichage d'un div
    Par ipeteivince dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/05/2007, 08h54
  2. affichage masquage de DIV
    Par bleuerouge dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/01/2007, 11h02
  3. affichage d'un div à la position du curseur
    Par n00noors dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/09/2006, 17h16
  4. Pb affichage d'une div
    Par Galaad dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/09/2006, 13h38
  5. pblm d'affichage d'un div vide d'une largeur désirée
    Par nuage dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 06/08/2005, 10h35

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