validation de formulaire - structure de code avec return
	
	
		Bonjour à tous,
Voilà mon problème.
J'ai la structure de suivante :
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 |  
<script type="text/javascript">
<!--
 
code js 
 
//-->
</script>
 
<form class="formulaire_resa" name="reservation" id="reservation" METHOD='POST' ACTION="<? echo 'Reservation.php' ; ?> " onsubmit="return ValidationSaisie()">
 
code php/html pour le formulaire
 
</form> | 
 Mon soucis  est le suivant :
Mon formulaire est constitué d'un tableau dont le nombre de lignes est variable et donc par conséquent le nombre de champs à vérifier.
Pour simplifier disons que ce tableau a 3 colonnes : date, montant et compte_bancaire.
les champs dates et montant sont matérialisés par un champ texte, et les champs relatifs au compte_bancaire par une liste déroulante.
Je dois vérifier que :
La somme des montants (A) est égal à un montant B.
Les champs compte_bancaire ne peuvent pas avoir la valeur select c'est à dire la valeur 0.
Je ne vois pas comment implémenter ma fonction ValidationSaisie() sachant que :
j'ai déjà une fonction verifRepartitionEC() qui vérifie que la somme de mes montant (A) est bien égal à un un montant B . Si non, elle met en rouge le monant B. Cette fonction parcoure le tableau d'où l'utilisation d'une boucle.
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 |  
function verifRepartitionEC(){
var somme_echeance_client =0;
for (k=1; k< nbLignesEcheanceClient+1; k++) 
	{
	var temp1=document.getElementById("montant_ec"+k).value;
			temp1 = temp1.deformatage_nombre();
			if(!isNaN(temp1) && (temp1!="")) somme_echeance_client = somme_echeance_client + parseFloat(temp1);
 
		}
	if (somme_echeance_client != montant_total)
		{
								document.getElementById("Total_Echeance_Client").className='total_input_erreur_rouge';
			return false;
		}
		else 
		{	document.getElementById("Total_Echeance_Client").className='total_input_bleufonce';
		return true;
		}	
} | 
 Par ailleurs voici ma fonction ValidationSaisie()
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 |  
function ValidationSaisie() {
 
	frm=document.forms['reservation'];
 
	//verifRepartitionEC();
 
	for (k=1; k< nbLignesEcheanceClient+1; k++) 
		{
			var valeur_compte=document.getElementById("compte_bancaire_paiement_client"+k);
 
			if (valeur_compte.value =='0') {
			//frm.elements['devise_locale'].style.backgroundColor='#FFCC66';
			return false;
			exit;
			}
 
			else {
			return true;
			}
 
		}
 
} | 
 Si cette fonction se résume à :
	Code:
	
| 12
 3
 4
 5
 6
 
 |  
function ValidationSaisie() {
 
	 return verifRepartitionEC();
 
} | 
 Tout baigne. Si ma somme A est différente de mon montant B, le formulaire n'est pas validé. 
Maintenant si je souhaite valider que tous mes champs compte bancaires sont renseignés avec le code suivant :
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 |  
function ValidationSaisie() {
 
	for (k=1; k< nbLignesEcheanceClient+1; k++) 
		{
var valeur_compte=document.getElementById("compte_bancaire_paiement_client"+k);
 
			if (valeur_compte.value =='0') {
 
			return false;
			}
 
			else {
			return true;
			}
 
		}
 
} | 
 cela ne fonctionne pas. Pour que le formulaire ne soit pas valider il faut que le premier champ soit sur select (valeur = 0)
j'ai trouvé une solution mais elle ne me convient pas. 
	Code:
	
| 12
 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
 36
 37
 38
 39
 40
 41
 
 |  
function ValidationSaisie() {
 
	var somme_erreur ='';
 
	// Validation total écheance
	var somme_echeance_client =0;
 
	for (k=1; k< nbLignesEcheanceClient+1; k++) 
		{
			var temp1=document.getElementById("montant_ec"+k).value;
			temp1 = temp1.deformatage_nombre();
			if(!isNaN(temp1) && (temp1!="")) somme_echeance_client = somme_echeance_client + parseFloat(temp1);
 
		}
	if (somme_echeance_client != montant_total)
		{
		somme_erreur ='divergence_echeance';
		}
 
 
 
 
	// Validation de saise des comptes bancaires 
	for (k=1; k< nbLignesEcheanceClient+1; k++) 
		{
			var valeur_compte=document.getElementById("compte_bancaire_paiement_client"+k);
 
			if (valeur_compte.value =='0') {
			//frm.elements['devise_locale'].style.backgroundColor='#FFCC66';
			somme_erreur = somme_erreur + 'erreur';
 
			}	
		}
 
	if (somme_erreur != '')
	{
	return false
	}	
 
} | 
 Pourquoi ?
Cette fonction reprend une partie de code déjà existant par ailleurs.
En espérant d'abord avoir exprimer correctement cette problématique, votre aide me sera précieuse.
par avance merci