Salut,

Cette fonction récupère tous les éléments d'un document et fais une vérification sur le contenu des champs.
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
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; 
      } 
   } 
}