Bonjour,
Lors de la saisie d'un formulaire, je cherche à tester certains champs afin de m'assurer que l'utilisateur n'a pas mis n'importe quoi.
Dans ce formulaires il y a, entre autre, des radio button.
Au niveau de mon bouton de validation, je fais appel à une fonction comme suit :
<input type="submit" value="Valider" onclick="javascript:return Verif_Forms(this.form);">
Le debut de la fonction est la suivante :
function Verif_Forms(MonForm)
{
var NbChecked;
var NbBox;
var NbRadio;
// Je recupere le nombre d'elements du formulaire
var NbElements = MonForm.elements.length
// Boucle tous les éléments du formulaire i
for (var l = 0; l < NbElements; l++)
{
Nom_Element = MonForm.elements[l].name;
Champ = MonForm.elements[l];
...
J'ai appliqué une politique de nom de champ de façon à savoir si celui-ci est obligatoire ou facultatif et de quel type il est. Dans le cas des radio buttons, voici l'instruction conditionnelle :
petite précision : dans mon formulaire j'ai 4 radio buttons qui s'appellent toutes Or_Radi
if ((Nom_Element.substring(0,1) == "o" || Nom_Element.substring(0,1) == "O") && (Nom_Element.substring(1,2) == "r" || Nom_Element.substring(1,2) == "R"))
{
NbChecked = 0;
var test = document.Fiche_acq.Or_radi.length;
alert(test);
// test me renvoie 4 ce qui est normal
var test2 = Nom_Element.length;
alert(test2);
// test2 me renvoie 7 ( soit la longueur du mot Or_radi)
var test3 = Champ.length;
alert(test3);
// test3 me renvoie Undefined
NbRadio = Nom_Element.length;
alert(NbRadio);
for (var k = 0; k < NbRadio; k++)
{
NbChecked = NbChecked +1;
if (document.Fiche_acq.Or_radi[k].checked == true)
{
break;
}
else if (NbChecked = NbRadio)
{
alert("Le champ suivant est obligatoire : " + Champ.id);
Champ.focus();
return false;
}
}
}
}
En fait, je n'arrive pas à compter le nombre de radio du meme nom avec mes variables. Et comme c'est une fonction que je souhaiterai utiliser pour tous mes formulaires, je ne peux pas laisser en dur " document.Fiche_acq.Or_radi.length".
Pourriez vous m'aider un peu ?