Bonjour !

je fais actuellement du J2EE et j'envois mes formulaires en les passant dans "une moulinette" appartenant à un plugin appelé "Validator" qui fonctionne côté client (JS) et/ou côté serveur (J2EE) ... très connu par les J2EEistes !

Tous mes contrôles fonctionnent parfaitement, sauf un seul type de contrôle que je ne peux mettre en oeuvre : j'ai 4 champs et soit les 2 premiers sont obligatoires, soit ce sont les 2 derniers ! Donc un coup un champ est obligatoire et dans l'autre cas il doit rester à vide ...

Oui oui ça correspond à 2 formulaires en 1 !


Bref bref, je voudrais savoir comment empêcher l'envoi de mon formulaire sachant que l'envoi se fait en JS ... démonstration :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<html:form action="/FormCompareX" onsubmit="return validateFormCompareX(this);">
J'ai bien essayé comme ça :
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
		<script type="text/javascript">
			function ctrlChamps() {
				var champ1 = document.formCompareX.xFab1.value;
				var champ2 = document.formCompareX.xFab2.value;
				var champ3 = document.formCompareX.xSav1.value;
				var champ4 = document.formCompareX.xSav2.value;
 
				if ((champ1 == "") && (champ2 == "") && (champ3 == "") && (champ4 == "")) {
					alert("Merci de compléter correctement le formulaire.");
					return false;
				}
				else {
					return validateFormCompareX(this);
				}
			}
		</script>
 
[...]
 
<html:form action="/FormCompareFdm" onsubmit="ctrlChamps();">

Ca ne fonctionne pas : il m'affiche la popup, ... poste les données de mon formulaire et tombe en échec !

Personne n'a une idée ?