【发布时间】:2015-09-29 23:57:12
【问题描述】:
我有一个单位转换脚本;我的 HTML 包含单选按钮(用于选择单位)、一个输入字段、一个输出字段和一个按钮。
这是我的 Javascript 文件的示例:
[...]
window.addEventListener("load", function(){
document.getElementById("convert").addEventListener("click", function(){
var initial = document.getElementById("initial").value;
document.getElementById("answer").innerHTML = convertObj.converted(initial);
});
[...]
});
function ConvertClass(){}
ConvertClass.prototype.converted = function(initialAmount){
if(document.getElementById("kilograms").checked) {
this.calculation = this.multiply(initialAmount, 2.2046);
} else if(document.getElementById("pounds").checked) {
this.calculation = this.divide(initialAmount, 2.2046);
}
return this.calculation.toFixed(2);
}
[...]
var convertObj = new ConvertClass();
我想添加一些内容,以确保 a) 空输入字段不被视为“0”,并且 b) 数字以外的内容不显示“NaN”作为答案。 在这两种情况下,我都希望我的输出不返回任何内容(空白)。我不希望它做任何事情,以防用户在提交正确的数字后提交空白字段或无效值(我认为这会导致仍显示先前的答案。)
我该怎么写?我假设我应该使用条件,但我不知道哪些条件。我做了一些研究,显然使用 isNaN() 并不完全准确,至少在这种情况下不是。
代码应该放在哪里,页面加载触发的函数还是按钮触发的函数?
我仍在学习,如果可能的话,我非常感谢您的解释以及编辑后的代码。谢谢!
【问题讨论】:
-
@CoderNeji 这里不必是整数,只要是数字即可。
标签: javascript validation input numbers