Je ne peux pas pour la vie de moi comprendre le problème suivant (je ne suis pas très bien avec JavaScript).Javascript mathématique onkeyup question
C'est le code que j'ai:
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
<?php print("var base = " . $cash2points . " ;\n");?>
document.getElementById('numberField').onkeyup = function() {
if(this.value.length == 0) {
document.getElementById('result').innerHTML = '';
return;
}
var number = parseInt(this.value);
if(isNaN(number)) return;
document.getElementById('result').innerHTML = number * base;
};
document.getElementById('numberField').onkeyup();
<?php print("var base1 = " . $points2cash . " ;\n");?>
document.getElementById('numberField1').onkeyup = function() {
if(this.value.length == 0) {
document.getElementById('result1').innerHTML = '';
return;
}
var number = parseInt(this.value);
if(isNaN(number)) return;
document.getElementById('result1').innerHTML = number * base1;
};
document.getElementById('numberField1').onkeyup();
}//]]>
</script>
$cash2points = 100
et $points2cash = 0.01
la deuxième partie du code avec base1
fonctionne comme un charme, il me donnera des décimales dans le <span>
mais quand je rentre quelque chose comme 0.01
dans numberfield
où base = $cash2points
il me donne juste un 0
, mais il devrait afficher 1
est là quelque chose qui me manque, ou est-ce juste quelque chose qui ne peut pas être fait. J'ai essayé de faire $cash2points = 100.00
mais cela produisait toujours les mêmes résultats.
Je suis assez sûr que les nombres décimaux reviennent faux pour isNaN
donc je ne pense pas que ce soit le problème non plus.
Tous les conseils ou les pointeurs sont très appréciés.
'parseInt (this.value);' peut-être? – Herbert