Projet

Général

Profil

Paste
Télécharger (3,81 ko) Statistiques
| Branche: | Révision:

root / js / pano_deroulant.js @ 1f5db711

1
        
2
        function getInfoBox(element) {
3
            
4
        while (element = element.nextSibling) {
5
            if (element.className === 'infobox') {
6
                return element;
7
            }
8
        }
9
         
10
        return false;
11
     
12
    }
13
        
14
         // Fonctions de vérification du formulaire, elles renvoient « true » si tout est OK
15
    
16
    var check = {}; // On met toutes nos fonctions dans un objet littéral
17
     
18
        check['param_title'] = function() {
19
                
20
                var title = document.getElementById('param_title');
21
                
22
                if (title.value.length >= 4) {
23
                    title.className = 'correct';
24
                    
25
                    return true;
26
                } else {
27
                    title.className = 'incorrect';
28
                    
29
                    return false;
30
                }
31
        };
32
        
33
    check['param_latitude'] = function() {
34
        
35
        var latitude = document.getElementById('param_latitude');
36
        var lat = parseFloat(latitude.value);
37
       
38
        if (!isNaN(lat) && lat >= -90 &&  lat <= 90) { 
39
            latitude.className = 'correct';
40
           
41
            return true;
42
        
43
        } else {
44
            latitude.className = 'incorrect';
45
           
46
            return false;
47
        }
48
     
49
    };
50
    
51
    check['param_longitude'] = function() {
52
        
53
        var longitude = document.getElementById('param_longitude');
54
        var lon = parseFloat(longitude.value);
55
                
56
        if (!isNaN(lon) && lon >= -180 &&  lon <= 180) {
57
            longitude.className = 'correct';
58
            
59
            return true;
60
        
61
        } else {
62
            longitude.className = 'incorrect';
63
            
64
            return false;
65
        }
66
     
67
    };
68
    
69
    check['param_altitude'] = function() {
70
        
71
        var altitude = document.getElementById('param_altitude');
72
        var alt = parseInt(altitude.value);
73
        
74
        if (!isNaN(alt) && alt >= 0 && alt <= 10000) {
75
            altitude.className = 'correct';
76
            
77
            return true;
78
        
79
        } else {
80
            altitude.className = 'incorrect';
81
            
82
            return false;
83
        }
84
     
85
    };
86
    
87
    check['param_elevation'] = function() {
88
        
89
            
90
        var elevation = document.getElementById('param_elevation');
91
        var ele = parseFloat(elevation.value);
92
        
93
        if (!isNaN(ele) && ele >= -10 &&  ele <= 10) {
94
            elevation.className = 'correct';
95
           
96
            return true;
97
        
98
        } else {
99
            elevation.className = 'incorrect';
100
            
101
            return false;
102
        }
103
     
104
    };
105
    
106
    (function() { // Utilisation d'une fonction anonyme pour éviter les variables globales.
107
        
108
        var form_param = document.getElementById('form_param'),
109
            inputs = document.getElementsByTagName('input'),
110
            inputsLength = inputs.length;
111
    
112
        for (var i = 0 ; i < inputsLength ; i++) {
113
                
114
                    if (inputs[i].type == 'text') {
115
                             
116
                        inputs[i].onkeyup = function() {
117
                            check[this.id](this.id); // « this » représente l'input actuellement modifié
118
                        };
119
             
120
                    }
121
                
122
        }
123
     
124
        form_param.onsubmit = function() {
125
     
126
            var result = true;
127
     
128
            for (var i in check) {
129
                       
130
                result = check[i](i) && result;        
131
            }
132
     
133
            if (result) {
134
                alert('Le formulaire est bien rempli.');
135
                return true;
136
            } else {
137
                    
138
            return false;
139
            }
140
     
141
        };
142
     
143
        form_param.onreset = function() {
144
     
145
            for (var i = 0 ; i < inputsLength ; i++) {
146
                if (inputs[i].type == 'text' || inputs[i].type == 'number') {
147
                    inputs[i].className = '';
148
                }
149
            }
150
     
151
        };
152
     
153
    })();