我不能为我的生活找出以下问题(我用JavaScript不太好。)
这是我的代码:
<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
和$points2cash = 0.01
代码的第二部分base1
就像魅力一样,它会在<span>
中给出小数,但是当我输入类似{ {1}} 0.01
numberfield
base = $cash2points
0
1
{}} {}}} {{}} {}} {}}}不行。我尝试制作$cash2points = 100.00
,但仍然会产生相同的结果。
我很确定isNaN
的小数回复为假,所以我认为这也不是问题。
非常感谢任何提示或指示。
答案 0 :(得分:3)
由于您已将number
包裹在parseInt
中,因此您只会返回整数值 - 并且浮点数(如0.01
)将被截断为整数。请尝试使用parseFloat
。