Bonjour,
J'ai réussi à valider les différents champs de saisie de mon formulaire
mais le pb c qu'en validant les checkbox, ça se plante au niveau du
"break"(je crois!) et je ne sais pas pquoi.
Voilà le code:
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="style.css">
<SCRIPT LANGUAGE="javascript">
function tester(nbform)
{
for (i=0; i<nbform; i++) //on parcoure tous les formulaires de la page HTML
{
var formulaire=document.forms[i];
for (n=0;
n<formulaire.elements.length;n++) //On parcoure tous les champs de
saisie de chaque formulaire
{
switch
(formulaire.elements[n].type) // On traite chaque champs de
saisie selon son type
{
case "text":
if (formulaire.elements[n].value=="")
{
alert("champs texte vide!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//write(formulaire.elements[n].value);
break;
case "password":
if (formulaire.elements[n].value=="")
{
alert("champs password vide!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//write(formulaire.elements[n].value);
break;
case "textarea":
if (formulaire.elements[n].value=="")
{
alert("champs textarea vide!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//write(formulaire.elements[n].value);
break;
case "select-one":
champs =
eval('formulaire.elements[n].options[formulaire.elements[n].selectedIndex].value');
if (champs=="-20")
{
alert("Sélectionnez un élément de
la liste!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//write(formulaire.elements[n].value);
break;
case "radio":
champs = eval('formulaire.elements[n].name');
var err=true;
for ( var
n=0;n<formulaire[champs].length;n++ )
{
if ( formulaire[champs][n].checked )
{ err=false;
n=champs.length;
}
}
if ( err )
{
alert("Sélectionnez un bouton radio!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return
false;
}
//write(formulaire.elements[n].value);
break;
case "checkbox":
champs = eval('formulaire.elements[n].name');
//if (formulaire[champs].length > 0)
//{
var err=true;
for ( var
n=0;n<formulaire[champs].length;n++ )
{
if (
formulaire[champs][n].checked==true )
{
alert("checked!"); //pour tester qu'il entre dans la
boucle.
err=false;
//n=champs.length;
}
}
if ( err )
{
alert("Sélectionnez un
checkbox!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//}
/*else
{
if
(formulaire.elements[n].checked == false)
{
alert("Sélectionnez un check box!");
return false;
}
}*/
//write(formulaire.elements[n].value);
break;
alert("passed!");
default:
alert(formulaire.elements[n].type);
break;
}
}
alert("Formulaire saisi avec succés!");
return true;
}
}
</script>
</HEAD>
<BODY bgcolor=White vlink=Gray alink=Gray>
<FORM Name="formulaire" method="Post" Action="" onsubmit="Javascript:return tester(1);">
<table width="624" border="1">
<tr>
<td width="385">Civilité (sans repositionnement sur un
item): </td>
<td width="223"><select name="CIVILITE">
<option value="-20">- Sélectionnez -</option>
<option value="1">Mr</option>
<option value="2">Mlle</option>
<option value="3">Mme</option>
</select></td>
</tr>
<tr>
<td>Situation (avec repositionnement sur l'item 1):</td>
<td><select name="SITUATION">
<option value="-20">- Sélectionnez -</option>
<option value="1">Célibataire</option>
<option value="2">Divorcé</option>
<option value="3">Marié</option>
</select></td>
</tr>
<tr>
<td>Nom :</td>
<td><input name="nom" size=25></td>
</tr>
<tr>
<td>Mot de passe </td>
<td><input name="pass" type="password" id="pass"></td>
</tr>
<tr>
<td>Confirmation du mot de passe </td>
<td><input name="conf_pass" type="password"
id="conf_pass"></td>
</tr>
<tr>
<td>Code postal :</td>
<td><input name="postal" size=25></td>
</tr>
<tr>
<td>Saisissez votre email :</td>
<td><input name="email" size=25></td>
</tr>
<tr>
<td>Adresse:</td>
<td><textarea name="adresse"
id="adresse"></textarea></td>
</tr>
<tr>
<td>Pays:</td>
<td><select name="pays" id="pays">
<option value="-20" selected>- Sélectionnez
-</option>
<option value="1">Tunisie</option>
<option value="2">France</option>
</select></td>
</tr>
<tr>
<td>Niveau:</td>
<td><input name="radiobutton" type="radio"
value="radiobutton">
Etudiant
<input name="radiobutton" type="radio" value="radiobutton">
Professionnel</td>
</tr>
<tr>
<td>Compétences:</td>
<td><input type="checkbox" name="checkbox" value="checkbox">
SGBD
<input type="checkbox" name="checkbox" value="checkbox">
UNIX
<input type="checkbox" name="checkbox" value="checkbox">
Dev Web </td>
</tr>
<tr>
<td><input type="submit" name="valider"
value="Validation"></td>
<td> </td>
</tr>
</table>
<br>
</FORM>
</BODY>
</HTML>
MERCI!
