我需要确保最小答案是5,最大值不能大于25.我使用的代码是:
function temp(form)
{
var i = parseFloat(form.Inc.value, 10);
var c = 0;
c = 25 - ((300 - i) * 8.0 / 100);
form.Fee.value = c.toFixed(2);
function decrease(form)
{
if (c > 25)
{
c--;
document.getElementById('Fee').innerHTML = 25;
}
}
function increase(form)
{
if (c < 5)
{
c++;
document.getElementById('Fee').innerHTML = 5;
}
}
}
然而,表格中的答案框无法识别最低和最高数字。
答案 0 :(得分:0)
form.Fee.value表示您的表单中有一个名为“Fee”的元素 The "name" attribute is different from the "id" attribute,并且由于您可能没有给出表单元素的id,因此document.getElementById()可能会返回null。 考虑使用document.getElementsByName或使用form.Fee。
此外,还没有调用reduce()和increase()方法 我想你正在寻找这样的代码:
function temp(form)
{
var i = parseFloat(form.Inc.value, 10);
var c = 0;
c = 25 - ((300 - i) * 8.0 / 100);
// Alternatively use Math.min and Math.max
if ( c > 25 ) c = 25;
if ( c < 5 ) c = 5;
form.Fee.value = c.toFixed(2);
}
补充说明;可以使用其正下方的行中的表达式初始化var c
;初始化为0是不必要的。