除了我的最后一个“if”语句,脚本中的所有内容都可以正常运行,它无法执行,我无法终生解决!我知道我在某处出错,但无法弄清楚为什么,我是JavaScript新手。
这是我要在最后一条语句中实现的目标:-
如果“AgeGrade”变量与“Expression”变量匹配,则接受值并将输入的值更改为2个小数点。例如。如果输入5.999,则更改为5.99
这是代码:
function agegrade() {
var AgeGrade = document.submitrunnertime.AgeGrade.value;
var expression = /^[0-9]*\.?[0-9]*$/
if (AgeGrade == null || AgeGrade == "") {
document.submitrunnertime.AgeGrade.value = "-1";
return true;
} else if (AgeGrade != document.submitrunnertime.AgeGrade.value.match(expression)) {
alert("Error - Need a number!");
return false;
} else if (AgeGrade == document.submitrunnertime.AgeGrade.value.match(expression)) {
document.submitrunnertime.AgeGrade.value = AgeGrade.toFixed(2);
return true;
} else
return false;
}
任何帮助将不胜感激。
最佳答案
您的最后一个if
语句可能会失败,并显示类似AgeGrade.toFixed is not a function
的错误。
您该如何解决?
您使用的.value()
方法返回一个字符串。但是,方法.toFixed(
)仅适用于数字(MDN doc)。在调用它之前,请尝试将AgeGrade
转换为float:
document.submitrunnertime.AgeGrade.value = parseFloat(AgeGrade).toFixed(2);