我有一个自动呈现的HTML表单,它使用输入字段的索引。用于更改名称的Javascript getElementsByName()
求量:
<input id="id_orderline_set-0-orderline_quantity" name="orderline_set-0-orderline_quantity" onkeyup="orderlineTotal()" type="number" value="120">
产品价格;
<input id="id_orderline_set-0-orderline_product_price" name="orderline_set-0-orderline_product_price" onkeyup="orderlineTotal()" type="number" value="22">
总线价格;
<input id="id_orderline_set-0-orderline_total_price" name="orderline_set-0-orderline_total_price" tag="orderline_total_price" type="number" value="2640">
对于以下几行,id和name的索引增加,只显示数量示例;
<input id="id_orderline_set-1-orderline_quantity" name="orderline_set-1-orderline_quantity" onkeyup="orderlineTotal()" type="number" value="55">
我想用下面的JavaScript来计算总的线路价格;
function orderlineTotal()
{
var orderlineTotalPrice = 0;
var theForm = document.forms["orderform"];
var orderlineQuantityField = theForm.getElementsByName["orderline_quantity"];
var orderlineProductPriceField = theForm.getElementsByName["orderline_product_price"];
var orderlineTotalPriceField = theForm.getElementsByName["orderline_total_price"];
for (var i = 0; i < orderlineQuantityField.length; i ++) {
orderlineTotalPrice = orderlineQuantityField[i].value * orderlineProductPriceField[i].value;
orderlineTotalPriceField[i].value = orderlineTotalPrice;
}
}
Offcourse这不会工作,因为元素的名称不匹配。我可以通过使用部分名称来查找元素的名称吗?如果不是,我应该如何循环输入框来计算线路总数?
为要加总的元素添加一个公共类名,然后使用'getElementsByClassName()'。您可以在任何给定的对象上拥有许多不同的类名,以便像这样总是可以将一个类名添加到一组对象中。 – jfriend00 2014-10-22 00:43:04