var可以使用两次吗?

时间:2013-05-28 01:26:37

标签: javascript var

我正在使用以下代码来获取总材料成本并向其添加销售税,然后添加任何运费并获取该总价值并将其填入materialtotal字段,并且它可以正常运行。< / p>

我的问题是,我现在需要从materialtotal字段中获取总数,并将其添加到名为labortotal的字段的总数中,并填充名为grandtotal的字段。

function tax(){
    var materialcost = document.getElementById( 'materialcost' ).value;
    var shipping = document.getElementById( 'shipping' ).value;
    var salestax = Math.round(((materialcost / 100) * 8.1)*100)/100;
    var materialtotal = (materialcost * 1) + (salestax * 1) + (shipping * 1);

    document.getElementById( 'materialcost' ).value = materialcost; 
    document.getElementById( 'salestax' ).value = salestax;
    document.getElementById( 'shipping' ).value = shipping;
    document.getElementById( 'materialtotal' ).value = materialtotal;
} 

我的问题是,我想我可以将materialtotal添加到var,例如:

function getFinal(){
    var materialtotal = document.getElementById( 'materialtotal' ).value;
    var grandtotal = document.getElementById( 'grandtotal' ).value;
    var labortotal = document.getElementById( 'labortotal' ).value;
    var grandtotatal = (labortotal * 1) + (materialtotal * 1);

    document.getElementById( 'grandtotal' ).value = grandtotal;
    document.getElementById( 'labortotal' ).value = labortotal;
    document.getElementById( 'materialtotal' ).value = materialtotal;
}

当我添加

onpropertychange="getfinal() 

到materialtotal id标记,它会使浏览器锁定。

如何让materialtotallabortotal合计并填充grandtotal字段?

1 个答案:

答案 0 :(得分:3)

materialtotal元素的属性发生变化时,您正在调用getFinalgetFinal计算一些数据,然后修改materialtotal的{​​{1}},然后再次调用value(依此类推......)