- Ce sujet est vide.
-
Sujet
-
Bonjour,
Je suis en train de travailler sur une fonction qui passe au travers du formulaire automatiquement et qui stoppe au premier champ obligatoire vide rencontré.
Le tout sans utiliser de variable contenant le nom des champs ainsi peut importe le formulaire, il sera très facile d’implémenter la fonctionnalité.
La fonction fonctionne #1 sauf un petit détail, l’index des champs ne suit pas la tabulation du formulaire donc en utilisant “this.getNthFieldName(i)” il se peut que le focus se fasse sur un champ en bas sur la dernière page même si une autre champ obligatoire est vide au dessus de lui dans l’ordre de tabulation.Savez-vous s’il y a une façon de changer les index de champ pour que la validation se fasse dans l’ordre de tabulation ?
Function valideObligatoire(buttonName) // buttonName sert à déterminer ou dans le formulaire la validattion doit arreter.
{
var bSuccess = true;
var fld;
var sectionValidate = buttonName.split(“.”)[0]; // prendre la premiere partie du nom avant le premier “.” ainsi si bouton 2, champ 10.texte est plus grand.
var errMsg = “ERREUR: “
for (var i=0; i < this.numFields; i++) // passe au travers de tout les champs
{
fld = getField( this.getNthFieldName(i) );
// si le nom du champs commence par un chiffre plus petit que le bouton.
if (Number(fld.name.substr(0,sectionValidate.length)) <= Number(sectionValidate)) {
// champs textes qui sont obligatoire.
if ( fld.type==”text” && fld.required ) {
if( fld.value.length == 0 ) // si champ vide
{
bSuccess = false;
app.alert(errMsg + fld.name);
fld.setFocus();
break;
}
}
//champs checkbox qui sont obligatoire…
if ( fld.type==”checkbox” && fld.required ) {
if (fld.value == “Off”) { // si aucune selection.
bSuccess = false;
app.alert(errMsg + fld.name);
fld.setFocus();
break;
}
}
}
}
return bSuccess;
}
- Vous devez être connecté pour répondre à ce sujet.