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得分。我应该如何构建公式以使其正常工作?
答案 0 :(得分:2)
您需要使用parseInt(val, 10)
或parseFloat(val)
将每个表单字段的值转换为数字。否则,你只是在进行字符串操作。