我使用下面的代码来计算材料的总成本,并向其中添加销售税,然后添加所有运输成本,并计算该总价值,并在materialtotal字段中填充它,它可以完美地工作。

我的问题是,我现在需要从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字段?

最佳答案

materialtotal元素的属性更改时,您正在调用getFinalgetFinal计算一些数据,然后修改materialtotalvalue,然后将再次调用getFinal(依此类推……)

07-26 00:21