希望我问的是正确的问题。我想添加一个msg,表明"请输入项目权重"如果用户单击该按钮而未在文本字段中输入任何内容。 我试过多种方法,但似乎无法得到它。一个msg出现了" undefined"而不是我想要它/显示。
if( typeof(weight) == 'undefined' || weight == null) {
msg = "<div id='error'>Please Enter Item Weight</div>";
}
答案 0 :(得分:1)
您需要将权重定义更改为以下内容:
var weight = parseInt(document.getElementById("weight").value || 0);
当您尝试使用parseInt
将字符串转换为数字时,如果您传递空字符串(当没有用户输入时),它将返回NaN
。因此,在这种情况下,简单回退到0 value || 0
可以解决它。
另一种选择是使用+
运算符转换为数字:
var weight = +document.getElementById("weight").value;
答案 1 :(得分:1)
if( weight == 'undefined' || weight == null) {
msg = "<div id='error'>Please Enter Item Weight</div>";
}
答案 2 :(得分:0)
您可能想要做的是,使用isNaN功能。当您尝试对无效字符串执行parseInt时,返回的值为NaN a.k.a非数字。
var weight = parseInt( document.getElementById("weight").value );
if(isNaN(weight)){
msg="<div>Hello</div>"
}
小提琴here
此外,您尚未添加逻辑以查看是否未选中任何选项按钮。