[PHP + JavaScript] Execution d'un script methode onSubmit

Résolu
cs_alextec Messages postés 20 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 22 février 2007 - 22 févr. 2007 à 09:31
cs_alextec Messages postés 20 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 22 février 2007 - 22 févr. 2007 à 10:50
Bonjour à tous, ne sachant pas vraiment où mettre mon message je le met ici, désolé aux modérateurs si je me suis trompé veuillez m'en excuser...

Voilà mon souci j'ai un formulaire en php avec un script  (javascript) de vérification des champs sur la meme page.
Extrait du code :
echo"<form name='formulaire'  action='ajouterpersonne.php' method='POST' onSubmit='return verif_formulaire()'>
   <table border='0' bgcolor='' width=''>
   <tr>
        <td>  Nom : </td>
        <td>  </td>
   </tr>


   <tr>
    <td> Prenom : </td>
        <td>  </td>
   </tr>


   <tr>
    <td> Date de naissance (xx/xx/xx) : </td>
        <td> </td>
   </tr>

    <tr>
         <td></td>
         <td>
    </tr>

extrait du javascript
<script type="text/javascript">


<!--
function verif_formulaire()
{
 if(document.formulaire.nom.value == "")  {
   alert("Veuillez entrer le nom!");
   document.formulaire.nom.focus();
   return false;
  }


  if(document.formulaire.prenom.value == "")  {
   alert("Veuillez entrer le prenom!");
   document.formulaire.nom.focus();
   return false;
  }

...
</script>

Je pensais qu'avec "<form name='formulaire'  action='ajouterpersonne.php' method='POST' onSubmit='return verif_formulaire()' il ne passerais qu'a la page ajouterpersonne que si le script était vrai... hors meme avec les champs vide j'ai l'impression que mon script ne s'execute pas. onSubmit n'est pas la bonne méthode ?
Je suis un peu étonné car là je ne voi pas ma faute...
Merci pour vos réponses.

6 réponses

lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
22 févr. 2007 à 10:39
Re,

Ta fonction est mal refermer, il te manquait une accolade :
 
function verif_formulaire()
{
 if(document.formulaire.nom.value == "")  {
   alert("Veuillez entrer le nom!");
   document.formulaire.nom.focus();
   return false;
  }

  if(document.formulaire.prenom.value == "")  {
   alert("Veuillez entrer le prenom!");
   document.formulaire.nom.focus();
   return false;
  }

mot=document.formulaire.datenaissance.value;

if (mot.length!=10){alert
   ("Veuillez introduire votre date de naissance au format JJ/MM/AAAA (exemple : 12/02/1981)");
   return false;}
else
{
    motjour=mot.substring(0,2);motmois=mot.substring(3,5);
    motan=mot.substring(6,10);motsep=mot.charAt(2)+mot.charAt(5);}
    if (isNaN(motjour+motmois+motan)|| motan>3000 ||motan<1900 || motsep!="//"){alert("Veuillez introduire votre date de naissance au format JJ/MM/AAAA (exemple : 12/02/1981)");return false;}
    else {choix="";}
    if (motan-(parseInt(motan/4)*4)==0){choix="bi"};
    if (motan-(parseInt(motan/4)*4)==0&&motan-(parseInt(motan/100)*100)==0)
    {choix=""};
    if (motan-(parseInt(motan/4)*4)==0&&motan-(parseInt(motan/400)*400)==0)
    {choix="bi"}
    switch (motmois){
    case "01":if(motjour<1 || motjour>31){alert("Le mois de Janvier comporte 31 jours, veuillez choisir une date de naissance comprise en 1 et 31.");return false;};
    break;
    case"02":if(choix=="bi"){if(motjour<1 || motjour>29){alert("Le mois de Février comporte 29 jours car l'année choisie est bissextile.\nVeuillez choisir une date de naissance comprise en 1 et 29.");return false;}}
              else{if(motjour<1 || motjour>28){alert("Le mois de Février comporte 28 jours car l'année choisie n'est pas bissextile.\nVeuillez choisir une date de naissance comprise en 1 et 28.");return false;}};
    break;
    case "03":if(motjour<1 || motjour>31){alert("Le mois de Mars comporte 31 jours, veuillez choisir une date de naissance comprise en 1 et 31.");return false;};
    break;
    case "04":if(motjour<1 || motjour>30){alert("Le mois de Avril comporte 30 jours, veuillez choisir une date de naissance comprise en 1 et 30.");return false;};
    break;
    case "05":if(motjour<1 || motjour>31){alert("Le mois de Mai comporte 31 jours, veuillez choisir une date de naissance comprise en 1 et 31.");return false;};
    break;
    case "06":if(motjour<1 || motjour>30){alert("Le mois de Juin comporte 30 jours, veuillez choisir une date de naissance comprise en 1 et 30.");return false;};
    break;
    case "07":if(motjour<1 || motjour>31){alert("Le mois de Juillet comporte 31 jours, veuillez choisir une date de naissance comprise en 1 et 31.");return false;};
    break;
    case "08":if(motjour<1 || motjour>31){alert("Le mois de Août comporte 31 jours, veuillez choisir une date de naissance comprise en 1 et 31.");return false;};
    break;
    case "09":if(motjour<1 || motjour>30){alert("Le mois de Septembre comporte 30 jours, veuillez choisir une date de naissance comprise en 1 et 30.");return;false};
    break;
    case "10":if(motjour<1 || motjour>31){alert("Le mois de Octobre comporte 31 jours, veuillez choisir une date de naissance comprise en 1 et 31.");return false;};
    break;
    case "11":if(motjour<1 || motjour>30){alert("Le mois de Novembre comporte 30 jours, veuillez choisirune date de naissance comprise en 1 et 30.");return false;};
    break;
    case "12":if(motjour<1 || motjour>31){alert("Le mois de Décembre comporte 31 jours, veuillez choisir une date de naissance comprise en 1 et 31.");return false;};
    break;
    default:alert("Le mois que vous avez entré n'est pas valide. Choisissez un mois compris entre 1 et 12.");return false;};
   if(document.formulaire.adresse.value == "")  {
   alert("Veuillez saisir une adresse!");
   document.formulaire.nom.focus();
   return false;
  }
  if(document.formulaire.nbrenfants.value == "")  {
   alert("Veuillez saisir le nombre d'enfant (0 si la personne n'en a pas)");
   document.formulaire.nom.focus();
   return false;
  }
}
3
Rejoignez-nous