1 2 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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
| function TestValidationFormulaire() {
// Récupère tous les éléments du formulaire en cours
var RecupElements = eval('document.forms[0].elements');
var IsNone;
var IsCorrect;
var IsRadioChecked;
var tmp;
// Boucle sur tous les éléments du formulaire
for (i = 0; i < RecupElements.length; i++) {
// Test pour savoir si le champs est caché
if (RecupElements[i].style.display == 'none') {
// Passe la variable en caché
IsNone = true;
} else {
IsNone = false;
}
// Passe la variable à vrai
IsCorrect = true;
// Passe la variable à vrai
IsRadioChecked = false;
if (!IsNone) {
// Si le champs n'est pas caché
switch(RecupElements[i].type) {
// Test le type de champs
case "text":
// Test la valeur du champs
if (RecupElements[i].value == "") {
alert(Cor_MessageChamps(RecupElements[i].name));
RecupElements[i].focus;
IsCorrect = false;
}
break;
case "textarea":
// Test la valeur du champs
if (RecupElements[i].value == "") {
alert(Cor_MessageChamps(RecupElements[i].name));
RecupElements[i].focus();
IsCorrect = false;
}
break;
case "select-one":
// Test l'index de la liste
if (RecupElements[i].selectedIndex == -1 || RecupElements[i].selectedIndex == 0) {
alert(Cor_MessageChamps(RecupElements[i].name));
IsCorrect = false;
}
break;
case "select-multiple":
// Test l'index de liste
if (RecupElements[i].selectedIndex == -1 || RecupElements[i].selectedIndex == 0) {
alert(Cor_MessageChamps(RecupElements[i].name));
IsCorrect = false; }
break;
default:
if (!RecupElements[i]) { // Simple
switch(RecupElements[i].type) {
case "checkbox":
// Test si l'élément est coché
if(!RecupElements[i].checked) {
alert(Cor_MessageChamps(RecupElements[i].name));
IsCorrect = false;
}
break;
case "radio":
// Test si l'élément est coché
if(!RecupElements[i].checked) {
alert(Cor_MessageChamps(RecupElements[i].name));
IsCorrect = false;
}
break;
}
} else {
switch(RecupElements[i].type) { // Multiple
case "checkbox":
// Récupère l'objet checkbox
var RecupCheckbox = eval('document.forms[0].' + RecupElements[i].name);
// Boucle sur l'objet
for (j = 0; j < RecupCheckbox.length; j++) {
// Test si l'objet est coché
if (!RecupCheckbox[j].checked) {
alert(Cor_MessageChamps(RecupElements[i].name));
IsCorrect = false;
break;
}
}
break;
case "radio":
// Récupère l'objet radio
var RecupRadio = eval('document.forms[0].' + RecupElements[i].name);
// Boucle sur l'objet
for (j = 0; j < RecupRadio.length; j++) {
// Test si l'objet est coché
if (RecupRadio[j].checked) {
IsRadioChecked = true;
break;
} else {
IsRadioChecked = false;
tmp = j
}
if (IsRadioChecked) { break }
}
if (!IsRadioChecked) {
alert(Cor_MessageChamps(RecupElements[i].name));
IsCorrect = false;
}
break;
}
}
}
}
// On repasse la variable en non caché
IsNone = false
if (!IsCorrect) {
// si un champs n'est pas ok on quitte la boucle
break;
}
}
} |
Partager