一連の配列に基づいて合計を計算する既存の JavaScript があります。次に、スクリプトは合計を次のように入力フィールドに配置します。<input name="total" type="text" class="total" onfocus="this.form.elements[0].focus()" size="10">
合計を取得し、計算された 6% と 7% の税金で値を表示する 2 つの追加の値を追加するにはどうすればよいですか?
function calculatetotal() {
var order_total = new Number();
order_total = 0;
var item_price = new Number();
var item_quantity = new Number();
// Run through all the form fields
for (var i=0; i < document.form1.elements.length; ++i) {
// Get the current field
form_field = document.form1.elements[i];
// Get the field's name
form_name = form_field.name;
// Is it a "category" field?
if (form_name.substring(0,3) == "CAT") {
var adjust_check = check_price_adjustment(form_name);
if (adjust_check) {
item_price = form_field.value;
} else {
item_price = 0;
}
} else if (form_name.substring(0,4) == "PROD") { // Is it a "product" field?
// Is the major category of this product checked?
var category = "CAT_" + form_name.substring(5,7);
var cat_box = document.getElementById(category);
if (cat_box.type=="checkbox" && cat_box.checked) {
// If so, extract the price from the form field value
item_price = form_field.value;
// reset negative item prices to 0
if (item_price < 0) {
item_price = 0;
}
} else if (cat_box.type.indexOf("select")!=-1) {
// If so, extract the price from the form field value
item_price = form_field.value;
// reset negative item prices to 0
if (item_price < 0) {
item_price = 0;
}
} else {
// Price is set to zero
item_price = 0;
}
} else {
item_price = 0;
}
// Get the quantity
if (form_field.type=="checkbox") {
if (form_field.checked) {
item_quantity = 1;
} else {
item_quantity = 0;
}
} else if (form_field.type.indexOf("select")!=-1) {
item_quantity = 1;
} else if (form_field.type=="hidden") {
item_quantity = 1;
}
if (form_name == "CAT_EX")
item_price = 0;
// Update the order total
if (item_quantity >= 0) {
order_total += item_quantity * item_price;
}
}
// Display the total rounded to two decimal places
document.form1.total.value = round_decimals(order_total, 2);
}