Fonction JS

Fermé
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 7 mai 2009 à 16:09
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 8 mai 2009 à 01:08
Bonjour,

J'essaye de faire une fonction qui me dit si l'heure début est supérieur à l'heure de fin alors erreur
donc voila j'ai essayé quelque chose mais ca ne fonctionne pas.
Je débute en JS et je voudrais voir si vous pourriez me corriger svp?

Merci d'avance

function verif_champs() 
{ 
	if(document.getElementById('type').value == "")
		{ 
		alert("Vous avez oublié de sélectionné un type"); 
		return false 
		}
	if (document.getElementById('type').value == "type")
		{ 
		alert("Vous avez oublié de sélectionné un type"); 
		return false 
		}
	if(document.getElementById('type').value == "Arrêt chaîne" || document.getElementById('type').value == "Autre")
		{ 
		if (document.getElementById('H_Deb').value == "")
		{
		alert("Vous avez oublié de sélectionné une heure de début"); 
		return false 
		}
		if (document.getElementById('H_Fin').value == "")
		{
		alert("Vous avez oublié de sélectionné une heure de fin"); 
		return false 
		}
		dim h1
		dim h2
		dim m1
		dim m2
		dim s1
		dim s2
		h1=hour(document.getElementById('H_Deb'))
		h2=hour(document.getElementById('H_Fin'))
		m1=minute(document.getElementById('H_Deb'))
		m2=minute(document.getElementById('H_Fin'))
		s1=second(document.getElementById('H_Deb'))
		s2=second(document.getElementById('H_Fin'))
		
		if h1>h2 
		{
			alert("L'heure de début est supérieure à l'heure de fin"); 
			return false 
		}	
		
		if h1=h2 and m1>m2 
		{
			alert("L'heure de début est supérieure à l'heure de fin"); 
			return false 
		}
		
		if h1=h2 and m1=m2 and s1>s2 
		{
			alert("L'heure de début est supérieure à l'heure de fin"); 
			return false 
		}
		
		}
	
	return true; 
	
	
}

 

7 réponses

NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 513
7 mai 2009 à 16:13
Bonjour,

Je n'ia jamais vu vos fonctions hour, minute et second, avez-vous une doc dessus?
0
vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
7 mai 2009 à 16:17
salut !

bon j'avoue je n'est fait que parcourir ton code sans vraiment me pencher dessus mais deja tu peut mettre des point virgule aprés tes return false ; sinon verifie que quand tu appelle ta fonction tu est bien mis return ( genre si c'est sur ton formulaire met : onsubmit='return verif_champs();'

ah aussi pour tes if il faut que la condition soit entre parenthese du genre: if (h1<h2)

je ne garanti pas que ça marcheras mais sans ça je pense que ça ne fonctionneras pas (enfin je crois , enfin je sais pas ! )quoi qu'il en soit ça ne feras pas de mal a ton code !

voila ! tien nous au courant sur l'evolution !
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
7 mai 2009 à 17:07
oui effectivement c'était un premier jet je vien de refaire pas mal de truc pouvez vous jeter un oeuil

 function verif_champs() 
{ 
	if(document.getElementById('type').value == "")
		{ 
		alert("Vous avez oublié de sélectionné un type"); 
		return false 
		}
	if (document.getElementById('type').value == "type")
		{ 
		alert("Vous avez oublié de sélectionné un type"); 
		return false 
		}
	if(document.getElementById('type').value == "Arrêt chaîne") 
		{ 
			if (document.getElementById('H_Deb').value == "")
			{
			alert("Vous avez oublié de sélectionné une heure de début"); 
			return false 
			}
			if (document.getElementById('H_Fin').value == "")
			{
			alert("Vous avez oublié de sélectionné une heure de fin"); 
			return false 
			}
						
			var result = document.getElementById('H_Fin').getTime() - document.getElementById('H_Deb').getTime();
			
			if (result < 0)
			{
			alert("L'heure n'est pas logique, Vérifier svp");
			return false
			}
		}
			
		}
	
	return true; 
	
	
}

0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 513
7 mai 2009 à 17:09
il manque toujours les points virgules après les return false
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
7 mai 2009 à 17:23
ok je lai met et sinon rien de bizarre?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 513
7 mai 2009 à 20:36
a priori non. Ca donne quoi?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 mai 2009 à 21:44
Bonsoir,

quelques retouches
les ;

les } en trop et le retrun true pas au bon endroit
il manquait les .value pour récupérer les hdeb et hfin pour le calcul result

function verif_champs() 
{ 
	if(document.getElementById('type').value == "")
		{ 
		alert("Vous avez oublié de sélectionné un type"); 
		return false;
		}
	if (document.getElementById('type').value == "type")
		{ 
		alert("Vous avez oublié de sélectionné un type"); 
		return false ;
		}
	if(document.getElementById('type').value == "Arrêt chaîne") 
		{ 
			if (document.getElementById('H_Deb').value == "")
			{
			alert("Vous avez oublié de sélectionné une heure de début"); 
			return false; 
			}
			if (document.getElementById('H_Fin').value == "")
			{
			alert("Vous avez oublié de sélectionné une heure de fin"); 
			return false ;
			}
						
			var result = document.getElementById('H_Fin').value.getTime() - document.getElementById('H_Deb').value.getTime();
			
			if (result < 0)
			{
			alert("L'heure n'est pas logique, Vérifier svp");
			return false;
			}
		return true;
		}
			
}
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
8 mai 2009 à 01:08
je test demain je vous tien au courant merci de m'aider
0