我正在编写一个脚本,该脚本接受表单输入并计算包括增值税在内的总计。 我试图验证用户输入,确保他和她只使用整数。
我的问题是,当我键入第一个数字即。 1它引发我的警报。当继续添加数字时,它工作正常。输入字母时,它按预期工作并返回警报。
我有一个微弱的想法,因为我正在使用onkeydown事件来激活评估函数。由于consoleLog向我显示值100被解析为10,1000为100。
如果我更改它们,所以我现在使用onkeyup,计算器函数将显示值100被解析为10,1000为100.但是如果该字段为空,则表单因为警报框不断弹出而变得无用起来。如果您有机会输入任何内容,评估仍然有效。
我现在首先发布我的代码HTML和
之后的JS<input type="text" id="price" name="price" onkeyup="checkIfWholeNo();" onkeydown="calculate();" />
function checkIfWholeNo() {
var price = document.getElementById('price').value;
if(/^\d+$/.test(parseInt(price))){}
else {alert("not a number"); return false;}
}
}
问题A: 我的评估功能是否有问题导致这种情况发生?
问题B: 如果它与事件处理程序有关,我如何解决它,以便在两个函数上获得onkeyup的效果?