表单中四个字段的平均值

时间:2014-08-13 18:35:45

标签: javascript

form.getElement('ar_essay1_read1_subscore4').bind('change', function() { 
calcEssayScore();
}).bind('keyup', function() { $(this).triggerHandler('change'); });

function calcEssayScore()
{
var score1 = form.getElement('ar_essay1_read1_subscore1').val();
var score2 = form.getElement('ar_essay1_read1_subscore2').val();
var score3 = form.getElement('ar_essay1_read1_subscore3').val();
var score4 = form.getElement('ar_essay1_read1_subscore4').val();

var recalc = ((score1 + score2 + score3 + score4) / 4);
form.getElement('sys:app:ar_essay1_read1').val(recalc.toFixed(3)); 

}

我知道这是一个完整的新手javascript错误,但这会导致返回错误。如果我将4放入表单中的每个字段,它将返回1111.000作为sys:app:ar_essay1_read1得分。我应该如何构建公式以使其正常工作?

1 个答案:

答案 0 :(得分:2)

您需要使用parseInt(val, 10)parseFloat(val)将每个表单字段的值转换为数字。否则,你只是在进行字符串操作。