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 |
})(); |