2 Fonctions javascript dans un onsubmit

Fermé
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 - 4 juin 2008 à 22:08
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 - 5 juin 2008 à 21:48
Bonjour,
comme le dit le titre, j'ai deux fonctions java script et je voudrais les mettre dans un onsubmit.
Les deux fonctions marchent indépendamment mais une fois ensemble, plus rien ne marche et le code continue meme après les alert().
J'ai essayé d'appeller les deux en une fonction, mais ca ne marche pas non plus

function verifidentifiant()
	{
		a = document.materiel.num.value;
		var ok=true;
		if(a=="")
		{
		alert("Veuillez entrer l'identifiant"); 
		ok=false;
		}
		return ok;
	}


function CheckDate()
	{
	  d = document.materiel.date_achat.value;
      var amin=1999;
      var amax=2050;
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=true;
	  
	  if(d==""){
	  ok=true;}
	  else
	  {
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour d'achat n'est pas correct."); ok=false;
		 return ok;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois d'achat n'est pas correct."); ok=false;
		 return ok;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année d'achat n'est pas correcte."); ok=false;
		 return ok;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur+" pour la date d'achat"); ok=false;
		 return ok;
      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=false;
			void window.stop()
			return ok;
         }
      }
	  }
	  d = document.materiel.date_deb_gar.value;
      var amin=1999;
      var amax=2050;
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=true;
	  if (d=="Aucune" || d==""){
	  ok=true;
	  }
	  else{
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour de début de garantie n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois de début de garantie n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année de début de garantie n'est pas correcte."); ok=false;
		 return ok;

      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur+" pour le début de garantie"); ok=false;
		 return ok;

      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=false;
			void window.stop()
			return ok;
         }
      }
	  }
	  
	  d = document.materiel.date_fin_gar.value;
      var amin=1999;
      var amax=2050;
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=true;
	  if (d=="Aucune" || d==""){
	  ok=true;
	  }
	  else{
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour de fin de garantie n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois de fin de garantie n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année de fin de garantie n'est pas correcte."); ok=false;
		 return ok;

      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur+" pour la fin de garantie"); ok=false;
		 return ok;

      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=false;
			void window.stop()
			return ok;
			
         }
      }
	  }
	  
	  d = document.materiel.sortie_compta.value;
      var amin=1999;
      var amax=2050;
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=true;
	  if(d=="")
	  {
	  ok=true;
	  }
	  else
	  {
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour de sortie de compta n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois de sortie de compta n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année de sortie de compta n'est pas correcte."); ok=false;
		 return ok;

      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur+" pour la sortie de compta"); ok=false;
		 return ok;

      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=false;
			void window.stop()
			return ok;
         }
      }
	  }
	}


	function Verif()
	{
	verifidentifiant();
	CheckDate();
	}


<form method="POST" name="materiel" action="materiel_ajout_trait.php" onsubmit= "Verif();">


Le code sert à vérifier si l'identifiant a bien été entré et si les dates ont le bon format.
Il trouve bien quand l'identifiant manque, mais au lieu de s'arreter, le code continue et charge la page suivante.

Je peux répondre à toutes vos questions.
Merci de votre aide.
A voir également:

1 réponse

X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 19
4 juin 2008 à 22:39
A mon avis, c'est parce qu'elles font les deux un return et donc le site aime pas. Parce que si une fonction return true et l'autre false, il fait quoi? En plus, il n'y a pas de return dans Verfi().

Donc, dans ta fonction verif, tu fais une condition IF et tu regardes le résutat de tes deux autres fonctions. Un truc du genre:

If (verifidentifiant()==true AND CheckDate()==true){
return true;
}else{
return false;
}

Ça devrait marcher ça (ou adapte le mais que ça ait la même logique).
0
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
4 juin 2008 à 22:56
j'ai fait ceci,
mais cela ne marche pas.
la page est quand meme rechargée.

function Verif()
{
if (verifidentifiant()==1 && CheckDate()==1)
{
return true;
}
return false;
}
0
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8 > filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018
5 juin 2008 à 21:48
UP

J'ai fait du changement et décidé de tout mettre en une fonction, mais le chargement de la page continue toujours après un alert()

<script language="JavaScript">

function CheckDate()
	{
	d = document.materiel.date_achat.value;
	a = document.materiel.num.value;
      var amin=1999;
      var amax=2050;
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
	  var ok=true;
	  
		if(a=="")
		{
		alert("Veuillez entrer l'identifiant"); ok=false;
		window.stop()
		return ok;
		exit();
		}
	  
	  if((d=="") && (ok==1) ){
	  ok=true;}
	  else
	  {
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour d'achat n'est pas correct."); ok=false;
		 return ok;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois d'achat n'est pas correct."); ok=false;
		 return ok;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année d'achat n'est pas correcte."); ok=false;
		 return ok;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur+" pour la date d'achat"); ok=false;
		 return ok;
      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=false;
			void window.stop()
			return ok;
         }
      }
	  }
	  d = document.materiel.date_deb_gar.value;
      var amin=1999;
      var amax=2050;
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=true;
	  if (d=="Aucune" || d==""){
	  ok=true;
	  }
	  else{
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour de début de garantie n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois de début de garantie n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année de début de garantie n'est pas correcte."); ok=false;
		 return ok;

      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur+" pour le début de garantie"); ok=false;
		 return ok;

      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=false;
			void window.stop()
			return ok;
         }
      }
	  }
	  
	  d = document.materiel.date_fin_gar.value;
      var amin=1999;
      var amax=2050;
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=true;
	  if (d=="Aucune" || d==""){
	  ok=true;
	  }
	  else{
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour de fin de garantie n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois de fin de garantie n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année de fin de garantie n'est pas correcte."); ok=false;
		 return ok;

      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur+" pour la fin de garantie"); ok=false;
		 return ok;

      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=false;
			void window.stop()
			return ok;
			
         }
      }
	  }
	  
	  d = document.materiel.sortie_compta.value;
      var amin=1999;
      var amax=2050;
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=true;
	  if(d=="")
	  {
	  ok=true;
	  }
	  else
	  {
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         alert("Le jour de sortie de compta n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois de sortie de compta n'est pas correct."); ok=false;
		 return ok;

      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année de sortie de compta n'est pas correcte."); ok=false;
		 return ok;

      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur+" pour la sortie de compta"); ok=false;
		 return ok;

      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            alert("La date "+d+" n'existe pas !");
            ok=false;
			void window.stop()
			return ok;
         }
      }
	  }
	}
</script>
0