Bonjour a tous,
Je tiens tout d'abord a remercier la communaut� de developper.net, pour toute l'aide que vous m'avez apport� a chacun de mes soucis. Je n'ai jusqu'a pr�sent jamais eu a m'inscrire du fait que mes soucis eu �t� r�solu grace aux posts deja existants.
Pouvoir soulever un bug qui n'etait pas trait� a donc ete pour moi d'une grande jouissance (ou pas), et l'incomprehension qui la genere m'exalte (ou pas�)
Voici donc mon soucis :
J'ai un formulaire tout ce qu'il y a de plus banal :
et des verifs, tout aussi banales...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 <label for="min">MIN<font color="red">*</font></label> <input type="text" name="min" size="4"onblur="verifMin(this)"/> <label for="iopcc">IOPCC<font color="red">*</font></label> <input type="text" name="iopcc" size="4"onblur="verifRest(this)"/> <label for="max">MAX<font color="red">*</font></label> <input type="text" name="max" size="4" onblur="verifMax(this)"/>
Ces 3 fonctions se comportent de la meme maniere (et la fonction surligne ne comporte aucun accrochage). Mon soucis cependant, se porte au niveau du modulo... Un 5 % 0.1 me renvoit 0.99999967, un 0.1 % 0.1 me renvoit 2.xxxxxxxExx
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 function verifMin(champ) { var champs = (champ.value).replace(",","."); var min = parseFloat(champ.value); var mina = min % 0.1 ; if(isNaN(min) || min < 0 || min > 8 || mina != 0) { surligne(champ, true); return false ; } else { surligne(champ, false); return true ; } } function verifMax(champ) { var champs = (champ.value).replace(",","."); var max = parseFloat(champs); var maxa = max % 0.1 ; if(isNaN(max) || max < 1 || max > 8 || maxa != 0) { surligne(champ, true); return false ; } else { surligne(champ, false); return true ; } } function verifRest(champ) { var champs = (champ.value).replace(",","."); var rest = parseFloat(champs); var resta = rest % 0.1 ; if(isNaN(rest) || rest < 5 || rest > 30 || resta != 0) { surligne(champ, true); return false ; } else { surligne(champ, false); return true ; } }
etc etc.
J'ai cherch� dans deux trois endroits, l'operande qui prend que les entiers toussa toussa, mais n'ai pas eu satisfaction de cette reponse pour la simple et "mauvaise" raison qu'un modulo 0.25 fonctionne normalement (puisque j'en ai dans mon formulaire...)
Je vous avoue que j'ai un peu de mal a comprendre d'ou vient le soucis, et avoir la tete dans le code doit pas aider, mais je cale totalement :s
Partager