Bonjour a tous,

C'est pas compliqué mais louche

Voila 2 fonction javascript qui verifie les champs d'un formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function verifArt(){
	var nbChp = document.frm.length;
	var chk = 0;
	for (var i=0; i<=nbChp-2; i++){//tous les chp st necessaire, on les verif tous
		if (document.frm.elements[i].value==''){
			alert ('Vous avez oublié de saisir un champ!!!! '+i);
		}
		else {
			chk++;
		}
	}
	if (chk==nbChp-1){	
		document.frm.envoi.value='article';
		document.frm.submit();
	}
}
 
function verifCmd(){
	var nbChp = document.frm.length;
	var chk = 0;
	for (var i=0; i <= nbChp-2; i++){
		if ((i!=1)||(i!=3)||(i!=4)){//On passe sur les champs non stockés ds la table cmd
			if (document.frm.elements[i].value==''){
				alert ('Vous avez oublié de saisir un champ!!!! '+i);
			}
			else {
				chk++;
			}
		}
	}		
	if (chk==nbChp-1){
		document.frm.envoi.value='commande';
		document.frm.submit();
	}
}
Et voici les bouton qui les appelles:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<input name="article" type="button" value="Créer l'article" onClick='verifArt();'>
<input name="commande" type="button" value="Enregistrer la commande" onClick='verifCmd();'>
<input name="envoi" type="hidden">
L'input hidden sert pr le php qui envoie les données necessaires à la base

Lorsque l'utilisateur clic, la fonction appelée doit verifier certains champs, si ils sont tous remplis alors la fonction doit envoyer le formulaire "frm", mais rien ne se passe, meme pas une erreur ds la console de debug de Firefox, ni ds IE d'ailleurs.
J'ai vérifié la condition d'entrée ds le dernier if et elle est bonne c'est a dire que "chk==nbChp-1".
Sur ma page j'ai 2 form, le 1er "frm" et le 2e "class" qui apparait qu'apres avoir envoyé le 1er.
J'ai aussi vérifié qu'aucun autre element porte le meme nom que "frm".
Et essaye avec document.forms[0].submit().
En bref rien ne marche et aucune erreur n'est affichée.

Merci d'avance pour vos réponses.