【发布时间】:2015-04-27 19:55:09
【问题描述】:
我尝试了几种不同的方法,我觉得这是最接近工作的方法,但它不起作用。我希望有人能指出并解释我做错了什么。我认为parseFloat 可能是我的问题,但我不确定。
window.onload = function () {
var purchPrice = document.getElementById('purchPrice');
var warrMile = document.getElementById('warrMile');
var currentMile = document.getElementById('currentMile');
var purchMile = document.getElementById('purchMile');
var mileAdjPerct = 0;
var mileAdjEach = 0;
var mileAdjTotal = 0;
}
function warrUpdate() {
var warrPerct = (parseFloat(currentMile.value) - parseFloat(purchMile.value)) / parseFloat(warrMile.value);
var warrEach = parseFloat(purchPrice.value) * warrPerct;
var warrTotal = warrEach * 4;
parseFloat(document.getElementById('mileAdjPerct').value = warrPerct);
parseFloat(document.getElementById('mileAdjEach').value = warrEach);
parseFloat(document.getElementById('mileAdjTotal').value = warrTotal);
}
这是一个小提琴:http://jsfiddle.net/hmhxybLL/
【问题讨论】:
-
“不工作”是什么意思?
-
它现在在做什么?它应该做什么?
-
在填写表格时,没有任何内容显示在显示结果的字段中。由于前四个已填写,它应该填写较低的三个字段。
-
您的第一个问题是您的所有变量都是
onload处理程序的本地变量,因此您无法从warrUpdate访问它们。 -
同时从最后的语句中移除 parsefloats。无需解析值赋值的结果。此外,jsFiddle 需要从左侧的“on load”事件中更改为“in head”jsfiddle.net/otLdc9dL/1
标签: javascript forms input field