我脚本中的所有内容都完美无缺,除了我的上一个" if"声明,它没有执行,我无法弄清楚我的生活!我知道我在某个地方有错误,但我不知道为什么,我是JavaScript的新手。
这是我在最后一句话中想要达到的目标: -
如果" AgeGrade"变量匹配"表达式"变量然后接受值并将更改值输入到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;
}
非常感谢任何帮助。
答案 0 :(得分:0)
你可以试试这个。我已经在许多javascripts中使用它进行四舍五入
document.submitrunnertime.AgeGrade.value = Math.round(AgeGrade * 100) / 100;
答案 1 :(得分:0)
您的上一个if
语句可能会失败,并显示错误:AgeGrade.toFixed is not a function
。
你怎么解决这个问题?
您使用的.value()
方法会返回一个字符串。但是,方法.toFixed(
)仅适用于数字(MDN doc)。在调用它之前,请尝试将AgeGrade
转换为float:
document.submitrunnertime.AgeGrade.value = parseFloat(AgeGrade).toFixed(2);