Fonction JS

drogba7213 Messages postés 1550 Statut Membre -  
drogba7213 Messages postés 1550 Statut Membre -
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; 
	
	
}

 
A voir également:

7 réponses

NookZ Messages postés 2376 Statut Membre 514
 
Bonjour,

Je n'ia jamais vu vos fonctions hour, minute et second, avez-vous une doc dessus?
0
vincent170186 Messages postés 329 Statut Membre 52
 
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 1550 Statut Membre 21
 
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 2376 Statut Membre 514
 
il manque toujours les points virgules après les return false
0
drogba7213 Messages postés 1550 Statut Membre 21
 
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 2376 Statut Membre 514
 
a priori non. Ca donne quoi?
0
Alain_42 Messages postés 5413 Statut Membre 894
 
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 1550 Statut Membre 21
 
je test demain je vous tien au courant merci de m'aider
0