Bonjour,
je ne suis pas très doué avec le javascript.
J'ai 2 champs un le kg, l'autre la livre.
Si j'actualise la livre, il actualise le poids et inversement si j'actualise le poids, il actualise la livre.
J'ai un problème, lorsque que j'écris 0.002 kg pour le convertir en livre, automatiquement il me refuse l'écriture. En fait dès que je mets un . , il refuse que je continue d'insérer le poids ex : 5.02
J'arrive pas trouver le problème pour le résoudre.
Pouvez vous m'aider ?
Merci beaucoup
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 <!-------------------------> <!-- convertisseur poids --> <!-------------------------> <script type="text/javascript"><!-- function forceValidFloat(n) { if(n.length == 0) return ''; var valids = '0123456789'; var hasDot = false; var r = ''; var c; for(var i = 0; i < n.length; ++i) { c = n.charAt(i); if(c == '-' && r.length == 0) { r += '-'; } else if((c == '.' || c == ',') && !hasDot) { r += (r.length == 0 || r == '-') ? '0.' : '.'; hasDot = true; } else if(valids.indexOf(c) != -1) { r += c; } } return r; } function convertCtoF() { document.forms["new_product"].products_weight_pounds.value = ''; document.forms["new_product"].products_weight.value = forceValidFloat(document.forms["new_product"].products_weight.value); if(document.forms["new_product"].products_weight.value.length < 0 || document.forms["new_product"].products_weight.value == '-' || document.forms["new_product"].products_weight.value == '-0' || document.forms["new_product"].products_weight.value == '-0.') return; if(document.forms["new_product"].products_weight.value.charAt(document.forms["new_product"].products_weight.value.length-1) != '.') document.forms["new_product"].products_weight.value = document.forms["new_product"].products_weight.value%10000; var temp = (parseFloat(document.forms["new_product"].products_weight.value)/0.45359237).toPrecision(4); while(temp.indexOf('.') != -1 && (temp.charAt(temp.length-1) < '0' || temp.charAt(temp.length-1) == '.')) temp = temp.substr(0, temp.length-1); document.forms["new_product"].products_weight_pounds.value = temp; } function convertFtoC() { document.forms["new_product"].products_weight.value = ''; document.forms["new_product"].products_weight_pounds.value = forceValidFloat(document.forms["new_product"].products_weight_pounds.value); if(document.forms["new_product"].products_weight_pounds.value.length == 0 || document.forms["new_product"].products_weight_pounds.value == '-' || document.forms["new_product"].products_weight_pounds.value == '-0' || document.forms["new_product"].products_weight_pounds.value == '-0.') return; if(document.forms["new_product"].products_weight_pounds.value.charAt(document.forms["new_product"].products_weight_pounds.value.length-1) != '.') document.forms["new_product"].products_weight_pounds.value = document.forms["new_product"].products_weight_pounds.value%10000; var temp = ((parseFloat(document.forms["new_product"].products_weight_pounds.value)*0.45359237)).toPrecision(4); while(temp.indexOf('.') != -1 && (temp.charAt(temp.length-1) < '0' || temp.charAt(temp.length-1) == '.')) temp = temp.substr(0, temp.length-1); document.forms["new_product"].products_weight.value = temp; } //--></script>
Partager