0

一連の配列に基づいて合計を計算する既存の 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);
}
4

1 に答える 1

0

ここに計算を含むフォーム要素を追加しました:

document.form1.total.value = round_decimals(order_total, 2);
document.form1.totalsix.value = order_total * .085; 
document.form1.totalseven.value = round_decimals(order_total * .09, 2);

そして、次の入力を追加しました。

<p>$<input name="totalsix" type="text" value="" onfocus="this.form.elements[0].focus()" size="10"></p>
<p>$<input name="totalseven" type="text" value="" onfocus="this.form.elements[0].focus()" size="10"></p>
于 2012-09-07T17:14:25.523 に答える