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 :

montrer/cacher un bouton d'un formulaire


Sujet :

JavaScript

  1. #21
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    j'appelais le script juste avant l'ouverture de la balise form en utilisant la façon que tu m'as indiquée.

    Je viens d'essayer de l'appeler juste après le code du bouton valider mais sans succès non plus ...

  2. #22
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    pour le cas ou ça peut en aider certains, voici le code simplifié de ma page (j'ai enlevé le code php et certains champs du formulaire pour rétrécir le code posté) :

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns=""http://www.w3.org/1999/xhtml" xml:lang="fr" >
    	<head>
    		<title>Thales Portal</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<script type='text/javascript'>
    			function enable_disable()
    			{
    				var elementsVides = 0;
    				var i;
     
    				//pour chaque element du formulaire, si l'un est vide on le compte
    				for (i = 0; i <= document.forms["donnees"].elements.length; i++)
    				{
    					if (document.forms["donnees"].element[i].value == '' or document.forms["donnees"].element[i].value == null)
    					{
    						elementsVides++;
    					}
    				}
     
    				//si il y a des elements vides on desactive le bouton, sinon on l'active
    				document.GetElementById("boutonValider").disabled=(elementsVides > 0)?true:false;
    			}
    		</script>
    	</head>
     
    	<body>
    		<h2>Donnees a modifier :</h2>
    		<form method="post" action="enregistrer.php?" name="donnees" >
    			<table>
    				<tr><td>Nom du type d application : </td><td><input type="text" name="name" size="10"  maxlength="8" /></td></tr>
    				<tr><td>Description du type d application : </td><td><input type="text" name="desc"  size="40" maxlength="200" /></td></tr>
    				<tr><td>Position du type d application : </td><td><input type="text" name="position"  size=1 /></td></tr>
    			</table>
    			<input type="submit" value="Valider les modifications" id="boutonValider" disabled="disabled" />
    			<script language="javascript">
    				enable_disable();
    			</script>
    			<input type="button" value="Annuler" onClick="document.location.href=index.php" />
    		</form>
    	</body>
    </html>

  3. #23
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    dès que tu auras corrigé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("boutonValider").disabled=(elementsVides > 0)?true:false;
    Tu pourras :
    1. Enlever ton passage <script> au milieu de la page (pas le bon endroit)
    2. Modifier ton tag <body> :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <body onload="enable_disable();">
    3. Ajouter
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      onchange="enable_disable();"
      dans le tag de chacun des input concernés


    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  4. #24
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    alors j'ai effectué les modifications que tu m'as dis, mais même résultat.

    Le code est donc maintenant :
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns=""http://www.w3.org/1999/xhtml" xml:lang="fr" >
    	<head>
    		<title>Thales Portal</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<script type='text/javascript'>
    			function enable_disable()
    			{
    				var elementsVides = 0;
    				var i;
     
    				//pour chaque element du formulaire, si l'un est vide on le compte
    				for (i = 0; i < document.forms["donnees"].elements.length; i++)
    				{
    					if (document.forms["donnees"].element[i].value == '' or document.forms["donnees"].element[i].value == null)
    					{
    						elementsVides++;
    					}
    				}
     
    				//si il y a des elements vides on desactive le bouton, sinon on l'active
    				document.getElementById("boutonValider").disabled=(elementsVides > 0)?true:false;
    			}
    		</script>
    	</head>
     
    	<body onload="enable_disable();">
    		<h2>Donnees a modifier :</h2>
    		<form method="post" action="enregistrer.php" name="donnees" >
    			<table>
    				<tr><td>Nom du type d application : </td><td><input type="text" name="name" size="10"  maxlength="8" onchange="enable_disable();" /></td></tr>
    				<tr><td>Description du type d application : </td><td><input type="text" name="desc"  size="40" maxlength="200" onchange="enable_disable();" /></td></tr>
    				<tr><td>Position du type d application : </td><td><input type="text" name="position" size=1 onchange="enable_disable();" /></td></tr>
    			</table>
    			<input type="submit" value="Valider les modifications" id="boutonValider" disabled="disabled"/>
    			<input type="button" value="Annuler" onClick="document.location.href=index.php" />
    		</form>
    	</body>
    </html>
    Seulement je n'ai toujours rien

    Petit truc en plus, pour si ca peut aider, lorsque je charge ma page, en bas de la fenetre (la ou ca écrit "ouverture de http:// ..... " lors des chargements de page par exemple) j'ai un petit triangle jaune d'exclamation et lorsque je modifie la valeur d'un champ il met a coté (à la place de "Terminer") "Erreur sur la page"

    Cela veut-il dire que c'est le script js qui ne marche pas ? (ou autre chose ?)

  5. #25
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Sh4dow49 Voir le message
    Petit truc en plus, pour si ca peut aider,
    Heu ... oui ça aide : erreur JS au chargement => tes scripts ne fonctionneront pas de toutes façons

    En (double-)cliquant sur le triangle jaune, tu devrais avoir un indice

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  6. #26
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    En fait tu n'a pas relu le code ...

    Ton code est bourré de faute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (i = 0; i < document.forms["donnees"].elements.length; i++)
    doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i = 0; i < document.forms["donnees"].length; i++)
    Je te conseille de faire une petite recherche sur le document.forms et des éléments.

    ex quand tu as un seul form tu doit mettre :

    tiens matte ça :http://jennifermadden.com/javascript/loopForms.html
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  7. #27
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    J'ai effectué la modif, et j'ai remarqué en double cliquant sur l'alerte que met le naviguateur que c'est l'appel de la fonction qui crée le problème, par contre je ne vois pas pourquoi ...

    l'erreur est la suivante :
    Ligne : 27 (l'appel de la fonction dans la balise <body>
    Caractère : 1
    Erreur : Objet attendu
    Code : 0
    Url : l'url
    et si j'essaye d'entrer une valeur dans les champs c'est plus une erreur que j'ai mais une par champ testé + celle ci (et c'est à chaque fois la meme, il y a juste la ligne qui change)

  8. #28
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    Après tests en mettant tout en commentaire et en dé commentant ligne par ligne j'ai remarqué que le script bloquait sur mon if.

    En fait il ne fallais pas utiliser le mot "or" pour faire la double condition mais un double pipe "||"

    Voila merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [AC-2003] Formulaire - Cacher un bouton
    Par jeanpierre78 dans le forum IHM
    Réponses: 2
    Dernier message: 26/06/2011, 17h43
  2. [AC-2007] Cacher un bouton dans un formulaire
    Par Oliv'83 dans le forum IHM
    Réponses: 2
    Dernier message: 19/09/2010, 10h28
  3. Montrer/Cacher un formulaire dans un fieldset
    Par Goupo dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 31/03/2009, 11h30
  4. Focus sur les boutons avec plusieurs formulaire
    Par davids21 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/04/2005, 15h48
  5. [VB.NET] Gestion des boutons d'un formulaire
    Par dinbougre dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/01/2005, 09h35

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