Formulaire contact - Problème avec Javascript

Bonjour à tous ;

Je viens de modifier mon Formulaire de Contact en changer les conditions php avec redirection par affichage avec Javascript. (Voir sur mon site si vous voulez !).

Donc, avant quand l'adresse mail n'était pas correct, qu'il n'y avait pas de nom, etc ; le visiteur aller sur une page pour lui dire l'erreur et devez retourner sur le formulaire. Maintenant j'ai mis les affichages des erreurs avec Alert(''); de Javascript pour faire mieux ; seulement lorsque le message s'affiche, ce qui suit ne s'affiche pas, par exemple : le footer.

Comment puis-je m'en sortir ?

Merci d'avance.
Cordialement.

6 réponses

  1. Mets le alert() dans le body avec l'événement on load.

    CA te donnera un écran blanc avec le alert() et ensuite ta page qui se charge entièrement et normalement.

    Il ne faut pas mettre de Javascript dans le body s'il n'est pas associé a un événement.

    Bon courage qd MM.
    1. Contributeur
      Salut,

      Quand tu fais tes if de l'envoi du mail, il re suffit de rajouter les alertes dans un else.

      Exemple :

      if($message =! NULL) 
      {
          On envoie le mail
      }
      else 
      {
      ?> 
      	<script language="JavaScript1.2">
      	{
      	alert('Vous devez écrire un message..');
      	}
      	</script>
      <?php
      }


      Si tu as plusieurs if qui s'incrémentent, (ce qui permet d'identifier une erreur précise) c'est comme ça :

      if(LES CHAMPS NE SONT PAS VIDES)
      {
          if(LA VERIFICATION DU CAPTCHA EST BONNE (exemple quelconque) )
          { 
              On envoie le mail
              ?> 
      	<script language="JavaScript1.2">
      	{
      	alert('Votre message a bien été envoyé, merci');
      	}
      	</script>
               <?php
            }
            else
            {
               ?> 
               <script language="JavaScript1.2">
      	   {
      	    alert('La vérification captcha n'est pas bonne, recommencez.');
      	    }
      	  </script>
               <?php
             }
      else
      {
      ?> 
      	<script language="JavaScript1.2">
      	{
      	alert('Vous devez remplir tous les champs du formulaire. Merci');
      	}
      	</script>
      <?php
      }
      ?>


      Etc etc ....

      Cordialement

      1. Salut a70m ;
        C'est bien comme cela que j'ai procédé, et donc si un alert apparait le reste du code source ne s'affiche pas. C'est celui-ci mon problème.
        As-tu une autre solution ?
        Puisque je n'ai pas envie d'utiliser jQuery juste pour cela.
    2. Contributeur
      Salut,

      Essaye de mettre la partie PHP qui envoie le mail tout à la fin de ton code source ?

      Cordialement
      1. Une autre solution : afficher les messages d'erreurs dans un cadre, et réafficher directement le formulaire en-dessous (avec les champs déjà remplis).
        1. Bonjour tout le monde,
          je vois que vous vous y connaissez bien en javascript alors je tente ma chance et pose ma question ...

          Je dois faire un formulaire sous Acrobat 8 et pour l'améliorer j'y inclus du javascript : je voudrais qu'en cliquant sur la case à cocher appelée "nom_offre", le prix HT s'affiche automatiquement en bas dans un champ texte appelé "Prix_HT". J'ai déjà essayé de nombreux scripts mais ça ne fonctionne pas. je vous mets le dernier script que j'ai trouvé :

          if (this.getField ("nom_offre"). value == "oui") 
          {(event.value("Prix_HT" == 320)); 
          }


          je dois changer quoi??
          je pense que ça va vous paraître simple comme question mais je suis vraiment bloqué. N'hésitez pas à me demander si je ne suis pas assez claire.
          Merci d'avance pour vos réponses

          Alexandra

          Configuration: Windows 7 / Internet Explorer 8.0