使用javascript添加表单数组值

时间:2013-04-07 09:24:46

标签: javascript forms variables

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

例如,像这样:

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]

感谢您的帮助。

3 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分: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>

答案 2 :(得分: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为答案。