Partage
  • Partager sur Facebook
  • Partager sur Twitter

JS pas pris en charge sous FF (check formulaires)

Sujet résolu
    16 décembre 2010 à 21:42:46

    Hello,

    J'ai un petit souci qui me prend la tête :honte: depuis pas mal de temps...
    Mon site contient des formulaires, et pour que l'utilisateur ne l'envoie pas sans avoir répondu à certains champs, j'ai mis un peu de JS (je suis pas grand connaisseur en JS, je suis en train de lire le cours du site du zéro :) )... Bref !

    Le souci, c'est que sous firefox, on peut tout de même envoyer ces formulaires sans avoir répondu à tous les champs indispensables des formulaires !... pourquoi ???

    Je met un peu de code que j'utilise, de manière à orienter celui qui voudra bien de filer un petit coup de pouce :

    BALISE FORM
    <form name="reservation" method="post" action="confirmation_reservation.php" onSubmit="return checkForm();">
    


    DANS LA BALISE HEAD
    <script language="Javascript">
    			function checkForm() {
    				if (reservation.nom.value.length==0) {
    					alert("Veuillez indiquer votre nom.");
    					document.reservation.nom.focus();
    					return false;
    				}
    				if (reservation.prenom.value.length==0) {
    					alert("Veuillez indiquer votre prénom.");
    					document.reservation.prenom.focus();
    					return false;
    				}
    				if (reservation.email.value.length==0) {
    					alert("Veuillez indiquer votre e-mail.");
    					document.reservation.email.focus();
    					return false;
    				}
    			}
    		</script>
    


    ...tout simple, mais la je capte pas, FF d'après sa réputation devrait être à la hauteur d'assumer cela non ? La réponse est oui, et plus précisément que j'ai fait une erreur... je sais ;) Mais qui peut me dire laquelle ??? (ou m'orienter..)

    Merci @+++
    • Partager sur Facebook
    • Partager sur Twitter
      16 décembre 2010 à 21:42:46

      Le message qui suit est une réponse automatique activée par un modérateur.
      Les réponses automatiques permettent d'éviter aux modérateurs d'avoir à répéter de nombreuses fois la même chose, et donc de leur faire gagner beaucoup de temps.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter le modérateur en question par MP.


      Merci d'utiliser les balises de code


      Bonjour,

      Les forums du Site du Zér0 disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source.
      Vous avez posté un code source sans utiliser cette fonctionnalité. Pourriez-vous éditer votre message en entourant votre code des balises <code > et </code > ?

      Cela aura pour effet de "colorer" votre code et donc d'en faciliter grandement la lecture. Vous aurez ainsi beaucoup plus de chances d'avoir des réponses.

      Voici un exemple de code non coloré avec la balise "citation" (mauvais exemple) :

      Citation

      int main(int argc, char *argv[])
      {
      long choixOperation;

      printf("Choisissez l'operation a effectuer");
      /* etc. */
      }



      Voici maintenant le même code coloré, si vous aviez utilisé la balise "code" (bon exemple) :

      int main(int argc, char *argv[])
      {
          long choixOperation;
      
          printf("Choisissez l'operation a effectuer");
          /* etc. */
      }
      


      C'est plus clair n'est-ce pas ? :)
      N'hésitez pas à éditer votre message pour changer la balise afin de colorer votre code.

      Plus d'informations à ce sujet


      Merci de votre compréhension :)
      Les modérateurs.
      • Partager sur Facebook
      • Partager sur Twitter
      Pwaite.net > Transfert de crédit téléphonique et monétisation de site web                                                                                        « I am awesome »
        18 décembre 2010 à 18:30:22

        Personne pour m'aider ?? Je peine svp...

        Merci pour vos conseils...
        • Partager sur Facebook
        • Partager sur Twitter
          18 décembre 2010 à 18:52:15

          Que dit la console d'erreur de Firefox après la validation ? (Outils -> Console d'erreurs)
          • Partager sur Facebook
          • Partager sur Twitter
            18 décembre 2010 à 18:58:02

            Elle dit :

            Déclaration attendue, mais "*" trouvé. Passage à la déclaration suivante.


            Propriété "zoom" inconnue. Déclaration abandonnée.


            et

            formulaireContact is not defined


            Ca te parle ? Je débute en JS et j'utilise pas FF... suis un peu perdu :)

            Merci !!
            • Partager sur Facebook
            • Partager sur Twitter
              18 décembre 2010 à 19:02:48

              L'erreur, la dernière, oui.

              Où est-ce que tu as "formulaireContact" dans ton code ?
              • Partager sur Facebook
              • Partager sur Twitter
                18 décembre 2010 à 19:07:59

                euh.. eh bien dans la balise form du formulaire :

                <form name="formulaireContact" method="post" action="confirmation_contact.php" onSubmit="return checkForm();">
                
                • Partager sur Facebook
                • Partager sur Twitter
                  18 décembre 2010 à 19:09:37

                  EDIT : Donne ton code HTML+JS complet. Ce sera plus simple.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 décembre 2010 à 19:15:36

                    <?php
                    session_start();
                    
                    if (!isset($_SESSION['langue'])) { $_SESSION['langue'] = "deu"; }
                    
                    require_once('langues/'.$_SESSION['langue'].'.php');
                    
                    $_SESSION['pageActuelle'] = $en_tete['MenuSup6'];
                    ?>
                    
                    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
                    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
                    	
                    	<head>
                    		<?php echo "<title>" . $titreSite . "</title>"; ?>
                    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                    		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="style/design1.css"></link>
                    		<link rel="shortcut icon" href="favicon.ico"></link>
                    		
                    		<script language="Javascript">
                    			function checkForm() {
                    				if (formulaireContact.nom.value.length==0) {
                    					alert("Veuillez indiquer votre nom.");
                    					document.formulaireContact.nom.focus();
                    					return false;
                    				}
                    				if (formulaireContact.prenom.value.length==0) {
                    					alert("Veuillez indiquer votre prénom.");
                    					document.formulaireContact.prenom.focus();
                    					return false;
                    				}
                    				if (formulaireContact.email.value.length==0) {
                    					alert("Veuillez indiquer votre e-mail.");
                    					document.formulaireContact.email.focus();
                    					return false;
                    				}
                    				
                    				if (formulaireContact.remarques.value.length==0) {
                    					alert("Veuillez indiquer votre message.");
                    					document.formulaireContact.remarques.focus();
                    					return false;
                    				}
                    			}
                    		</script>
                    	</head>
                    	
                    	<body>
                    		<?php include("langues.php"); ?>
                    		<?php include("en_tete.php"); ?>
                    		<?php include("menu.php"); ?>
                    		
                    		<div id="corps">
                    			<!-- PAGE -->
                    			<table class="tableau1">
                    				<tr>
                    					<td class="colonne1">
                    						<span class="titre">
                    						<?php
                    						switch ($_SESSION['langue']) {
                    							case "fra":
                    								print "Formulaire de contact";
                    								break;
                    							case "deu":
                    								print "Kontaktformular";
                    								break;
                    							case "ita":
                    								print "Modulo di contatto";
                    								break;
                    							case "eng":
                    								print "Contact form";
                    								break;
                    						}
                    						?>
                    						</span>
                    						<br /><br />
                    					</td>
                    					<td class="colonne1">
                    					</td>
                    					
                    				</tr>
                    				<tr>
                    					<td class="colonne1" style="text-align: left;">
                    						<?php include('contact.txt'); ?>
                    						<br /><br /><hr><br />
                    						<span class="titre">
                    						<?php
                    						switch ($_SESSION['langue']) {
                    							case "fra":
                    								print "Ecrivez-nous";
                    								break;
                    							case "deu":
                    								print "Schreiben Sie uns";
                    								break;
                    							case "ita":
                    								print "Scrivici";
                    								break;
                    							case "eng":
                    								print "Write us";
                    								break;
                    						}
                    						?>
                    						</span>
                    						<br /><br />
                    						<form name="formulaireContact" method="post" action="confirmation_contact.php" onSubmit="return checkForm();">
                    							<label class="location" for="nom"><?php print $form_nom; ?> :</label>
                    							<input class="location" type="text" name="nom" id="pseudo" tabindex="1" maxlength="50" size="20"></input><br />
                    							<label class="location" for="prenom"><?php print $form_prenom; ?> :</label>
                    							<input class="location" type="text" name="prenom" id="pseudo" tabindex="2" maxlength="50" size="20"></input><br />
                    							<label class="location" for="email"><?php print $form_email; ?> :</label>
                    							<input class="location" type="text" name="email" id="pseudo" tabindex="3" maxlength="50" size="20"></input><br />
                    							<label class="location" for="remarques">Message :</label><br />
                    							<textarea class="location" cols="40" rows="10" name="remarques" id="pseudo" tabindex="4" maxlength="1000" size="40" rows="2"></textarea><br />
                    							<input class="location" type="submit" tabindex="5" value="<?php print $form_envoyer; ?>" ></input>
                    						</form>
                    					</td>
                    					<td class="colonne1" style="text-align: right;">
                    						<img src="images/Portrait_VL.jpg" style="border: 1px solid white;"></img>
                    					</td>
                    				</tr>
                    			</table>
                    			<?php
                    				//print "host : ".$_SERVER['HTTP_HOST']."<br />";
                    				//print "url : ".strrchr($_SERVER['REQUEST_URI'], "=");
                    			?>
                    			
                    		</div>
                    	</body>
                    	
                    </html>
                    
                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 décembre 2010 à 19:23:22

                      Ah ok.

                      Remplace toutes tes conditions du type
                      if (reservation.nom.value.length==0) {
                      par
                      if (document.reservation.nom.value.length==0) {
                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 décembre 2010 à 19:37:43

                        Super !!!

                        Merci infiniment Golmote ta solution fonctionne...
                        Tout le monde monte FF sur un pied d'estale... mais il me paraît bien capricieux !! non ?

                        Merci encore et bonne soirée...

                        Steve
                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 décembre 2010 à 23:08:19

                          Non, là c'est pas FF qui est capricieux, c'est IE qui est laxiste. :-°

                          Pense à mettre ton sujet en résolu à l'aide du bouton approprié ;)
                          • Partager sur Facebook
                          • Partager sur Twitter

                          JS pas pris en charge sous FF (check formulaires)

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown