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 :

[syntaxe] appel fonction pour cacher un formulaire


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 52
    Points
    52
    Par défaut [syntaxe] appel fonction pour cacher un formulaire
    Bonjour,
    J'aimerai appeler ma fonction javascript lorsque mon bouton est actionné.
    voici mon code:
    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
     
    <html>
    	<head>
    		<title>Fiche de lot tri final</title>
    		<script type="text/javascript">
    			cacher(information_process)
    			{
    				objet = document.getElementById(information_process);
    				if(objet.style.visibility == 'hidden')
    				{
    					objet.style.visibility == 'visible'
    				}else
    				{
    					objet.style.visibility == 'hidden'
    				}
    			}
    		</script> 
    	</head>
    	<body>
     
     
     
    		<form method="post" name="information_process" action="http://localhost/planprod/Carnet de lot/FT/index.php"> 
    			<fieldset> <div id="information_process" style="visibility:visible">
    				<legend> Information process </legend>
    				<p>Choisissez un Process:</p>
    				<select name = "process" id = "menuprocess">
    					<?php
                                                    $resultat = mysql_query("select libelle_process from process") or die ("Requête non executée.");
     
                                                    while ($ligne = mysql_fetch_array($resultat))
                                                    {
                                                            echo '<option>'.$ligne['libelle_process'].'</option>';
                                                    }
                                            ?>
    				</select>
     
    				<br><br>Quantité<input type="text" name="qte">
    				<input type="submit" value="Valider" name="Information_process"  onclick="cacher()" action="self.location.href='http://localhost/planprod/Carnet de lot/FT/index.php'">
    </body>
    </html>
    Lorsque l'on clique sur le bouton valider j'aimerai que ma fonction cacher s'exécute afin de cacher ce formulaire.
    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut petits oublis
    Je vois deux premiers problèmes :

    - il manque le mot-clef "function" devant la signature de ta fonction pour qu'elle soit déclarée correctement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function cacher(information_process)
    {
       // ta fonction
    }
    - à l'appel de ta fonction, tu ne lui passes pas l'argument id demandé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    onclick="cacher('information_process');"

    Il se peut qu'il y ait autre chose je n'ai pas encore regardé dans le détail (pas le temps tout de suite) mais en tout cas ces deux problèmes sont déjà rédhibitoires ^^

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    J'ai changer mon code :
    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
     
    function cacher(idp)
    	{
    		var objet = document.getElementById(idp);
    		if(objet.style.visibility == 'hidden')
    		{
    			objet.style.visibility = 'visible';
    		}else
    		{
    			objet.style.visibility = 'hidden';
    		}
    	}
     
    	</script> 
     
     
    	</head>
    	<body>
     
    		<form method="post" name="information_process" action="http://localhost/planprod/Carnet de lot/FT/index.php"> 
    			<fieldset> 
     
    					<legend> Information process </legend>
    					<div id="info_process" style="visibility:visible" ><!--style="display:block"-->
    					<p>Choisissez un Process:</p>
    					<select name = "process" id = "menuprocess">
    						<?php
                                                            $resultat = mysql_query("select libelle_process from process") or die ("Requête non executée.");
     
                                                            while ($ligne = mysql_fetch_array($resultat))
                                                            {
                                                                    echo '<option>'.$ligne['libelle_process'].'</option>';
                                                            }
                                                    ?>
    					</select>
     
    					<br><br>Quantité<input type="text" name="qte"></div>
    					<input type="submit" value="Valider" name="Information_process" onclick="cacher('info_process')">
    Le problème c'est que ce code ne cache pas le formulaire lorsque je clique sur le bouton valider .

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Normal, tu ne lui as pas donné d'id !
    De plus, attention, la propriété visibility va te cacher ton formulaire mais conserver son emplacement, tu auras droit à un bloc blanc, pour le cacher sans garder ses dimensions, passe plutôt par la propriété display.
    Ensuite, tu risques de ne pas voir grand chose car tu caches ton form sur un bouton submit, donc immédiatement après avoir caché ton formulaire, celui-ci va être soumis et la page rechargée.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    En cherchant un peu je suis arrivée donc enfaite j'ai ma fonction javascript et je l'appelle en php un fois que mon bouton a été actionné par quelqu'un.
    Voici le code:
    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
     
    <html>
    	<head>
    		<title>Fiche de lot tri final</title>
    		<script type="text/javascript">
    function cacher(idp)
    	{
    		var objet = document.getElementById(idp);
    		if(objet.style.display == "block")
    		{
    			objet.style.display = "none";
    		}else
    		{
    			objet.style.display = "block";
    		}
    	}
     
     
    		</script> 
     
     
    	</head>
    	<body>
     
    		<form method="post" name="information_process" action="http://localhost/planprod/Carnet de lot/FT/index.php"> 
    			<fieldset> 
     
    					<legend> Information process </legend>
    					<div id="info_process" style="display:block" ><!--style="display:block"-->
    					<p>Choisissez un Process:</p>
    					<select name = "process" id = "menuprocess">
    						<?php
                                                            $resultat = mysql_query("select libelle_process from process") or die ("Requête non executée.");
     
                                                            while ($ligne = mysql_fetch_array($resultat))
                                                            {
                                                                    echo '<option>'.$ligne['libelle_process'].'</option>';
                                                            }
                                                    ?>
    					</select>
     
    					<br><br>Quantité<input type="text" name="qte">
    					<input type="submit" value="Valider" name="Information_process"> <!--onclick="affCache('info_process');"-->
    					</div>
     
    				<?php
    					if (isset ($_POST['Information_process']))
    					{
    						echo "<script type='text/javascript'> cacher('info_process')</script>";
    					}
    </fieldset>
    </body>
    </html>
    MErci pour votre aide

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

Discussions similaires

  1. JQuery ne pas appeler fonction pour elements fils.
    Par eclectique_95470 dans le forum jQuery
    Réponses: 5
    Dernier message: 18/06/2012, 15h12
  2. Appeller fonction pour éxécution dans un autre formulaire ?
    Par clickandgo dans le forum VBA Access
    Réponses: 6
    Dernier message: 07/05/2012, 07h05
  3. Réponses: 14
    Dernier message: 11/06/2009, 22h08
  4. Pb syntaxe appel fonction DLL
    Par kimlee dans le forum C++
    Réponses: 4
    Dernier message: 04/10/2007, 15h05
  5. [AJAX] Une fonction pour poster un formulaire?
    Par Mysti¢ dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/09/2006, 18h28

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