【发布时间】:2014-11-04 12:36:42
【问题描述】:
我创建了一个表单,需要在其中输入数值,然后计算并填充到另一个表单中。然后需要将计算出的输出添加到数组中,以便稍后在会话中参考。
processOrder 函数中的所有数据都已成功推送到各自的数组中,但是一旦我尝试推送任何已计算的数据而不是简单输入的数据,则返回 undefined is not a function。
非常感谢任何帮助。
HTML
<form>
<fieldset>
Units:<input type="number" value="" id="formUnits">
Kms:<input type="number" value="" id="formKms">
<input type=button value='Submit Order' onClick='calculate()'>
</fieldset>
</form>
<form>
<fieldset>
Per Unit Costs: <input type="number" id="perUnitCost">
Delivery Charges: <input type="number" id="deliveryCharge">
Pre Tax Total: <input type="number" id="preTaxTotal">
</fieldset>
</form>
JAVASCRIPT
var units = new Array();
var kms = new Array();
var timeStamp = new Array();
var unitCost = new Array();
var delivery = new Array();
var preTax = new Array();
function calculate(){
var units = document.getElementById("formUnits").value;
var kms = document.getElementById("formKms").value;
if ( units >= 1 && units <= 50 )
{
unitCost = 11.1 * units
}
if ( kms >= 1 && kms <= 20 )
{
delivery = 20
}
var preTax = unitCost + delivery;
document.getElementById("perUnitCost").value = unitCost.toFixed(2);
document.getElementById("deliveryCharge").value = delivery;
document.getElementById("preTaxTotal").value = preTax.toFixed(2);
processOrder()
}
function processOrder(){
units.push(document.getElementById('formUnits').value);
document.getElementById('formUnits').value='';
kms.push(document.getElementById('formKms').value);
document.getElementById('formKms').value='';
timeStamp.push(Date()).value;
add_calcs_to_array()
}
function add_calcs_to_array(){
unitCost.push(document.getElementById('perUnitCost').value);
document.getElementById('perUnitCost').value='';
delivery.push(document.getElementById('deliveryCharge').value);
document.getElementById('deliveryCharge').value='';
preTax.push(document.getElementById('preTaxTotal').value);
document.getElementById('preTaxTotal').value='';
}
【问题讨论】:
-
我遇到的一个错误是您将
unitCost定义为一个数组,但在calculate中您正在为其分配值,因此不再将其设为数组。 -
那么我应该稍后将其声明为数组吗?
-
它们是两种不同的变量类型。只需为其中一个选择一个不同的名称。
-
请将贴出的代码缩小5x-10x。
标签: javascript arrays forms