使用javascript onChange数学的ASP页面

时间:2012-12-07 17:05:47

标签: javascript asp-classic onchange

当我更改数量以反映新成本(数量*价格)时,我正在尝试更新此字段(订单成本)

<td class="result" align="right">$<Input type="text" maxLength="9" style="text-align:right; width:55px;" align="right" id="OC<%=i %>" value="<%=formatnumber(rstBevInventory("avg_unit_cost"),2)*proposed %>"/></td>

它计算原始总数,但是当我更改数量时,它会调用此Javascript函数:

function reCalcOrder(i){
    document.getElementById("OC"+i).value = document.getElementById("P"+i).value * document.getElementById("Q"+i).value;
    cost = document.getElementById("OC"+i).value;
    Math.round(cost * 100) / 100;
    document.getElementById("OC"+i).set("value", "cost");
        if (document.getElementById("Q"+i).value < 0){
            document.getElementById("Q"+i).value = 0;
        }
}

我得到太多的数字,看起来这是因为Javascript处理乘法的方式。有没有办法在更改数量字段时让ASP做出反应?因为ASP似乎没有问题地进行数学计算。

提前致谢!

1 个答案:

答案 0 :(得分:1)

是的,有,使用Ajax。但我相信如果你改变这一行,你也会解决问题:

Math.round(cost * 100) / 100;

cost = Math.round(cost * 100) / 100;

另一种选择是使用Number.prototype.toFixed

cost = cost.toFixed(2);