0

我想创建一个将用户输入值和变量值添加在一起的表单。

例如,像这样:

array 1
value 1 = form.value1
value 2 = form.value2
value 3 = form.value3

array 2
value 1 = 10
value 2 = 20
value 3 = 30

form.answer = array1[i].value * array2[i]

谢谢你的帮助。

4

3 回答 3

0

我不确定你在问什么,也许是这个?

<form>
<select id="choose_month">
 <option value="1">January</option>
 <option value="2">February</option>
 <option value="3">March</option>
</select>
<select id="choose_year">
 <option value="2010">2010</option>
 <option value="2011">2011</option>
</select>

function get_answer(){
answer = document.getElementById("choose_month").value + document.getElementById("choose_year").value;
}
于 2013-04-07T09:36:21.457 回答
0
    <form name="form1" action="">
       <input name="input1" type="text" value="text1">
       <input name="input2" type="text" value="text2">
    </form>

    <script>
       var arr1 = document.forms['form1'];
       var arr2 = [34, 567];
       alert(arr1[0].value+arr2[1]);

//Edited
       var sum = 0;            
       for(i=0; i<arr1.length; i++){
          sum += parseInt(arr1[i])*parseInt(arr2[i].value);
       }
    </script>
于 2013-04-07T09:48:51.943 回答
0

尝试使用此代码:

var array1 = [4,5,6,7,8,9], array2 = [1,2,3,4,5,6,7]; 
var processValues = function() { 
var answer = null; 
    for (var i = 0; i < array1.length; i++) { 
        //answer += array1[i] * array2[i]; 
        // if your inputs are not numbers or are unparsed form fields
        // cast them into number
        answer += Number(array1[i]) * Number(array2[i]);             
    }
}

这会将 1 个数组中的值与另一个数组中的值相乘,并将它们相加在变量 answer 中。在 array1 中存储您从表单中读取的值,在 array2 中存储您需要与它们相乘的值。

编辑:根据您的代码更新答案

您在代码中遗漏了一些内容:

1]您用于计算总计的点击处理程序没有表单作为参数。

     <input name="Calculate Total" type="button" id="Calculate Total" value="Calculate Total" onclick="Calc_totals(form);" />

2]您的变量不在 calc_totals 函数的范围内,请改用以下脚本块/优化它

var drink = new Array();
var units = new Array();
function Calc(form) {


    drink [0] = form.drink0.value;
    drink [1] = form.drink1.value;
    drink [2] = form.drink2.value;


    units [0] = 25;
    units [1] = 50;
    units [2] = 75;

    var number_units = new Array()
    form.units0.value = form.drink0.value * units[0];
    form.units1.value = form.drink1.value * units[1];
    form.units2.value = form.drink2.value * units[2]; 
}    
function Calc_totals(form) {
    var answerValue = 0; 
    for(i=0; i < units.length; i++) { 
    answerValue += Number(drink[i]) * Number(units[i]);
    } 
    form.total_units.value = answerValue;
}

如您所见,最后一行显示 form.total_units.value ,这是您要添加单位而不是 form.answer.value 的地方,因为没有以 id 作为答案的输入字段。

于 2013-04-07T10:41:53.770 回答