如何将msg添加到未定义的变量?

时间:2014-03-20 18:29:36

标签: javascript variables null undefined

希望我问的是正确的问题。我想添加一个msg,表明"请输入项目权重"如果用户单击该按钮而未在文本字段中输入任何内容。 我试过多种方法,但似乎无法得到它。一个msg出现了" undefined"而不是我想要它/显示。

    if( typeof(weight) == 'undefined' || weight == null) {

    msg = "<div id='error'>Please Enter Item Weight</div>";
    }

3 个答案:

答案 0 :(得分:1)

您需要将权重定义更改为以下内容:

var weight = parseInt(document.getElementById("weight").value || 0);

当您尝试使用parseInt将字符串转换为数字时,如果您传递空字符串(当没有用户输入时),它将返回NaN。因此,在这种情况下,简单回退到0 value || 0可以解决它。

另一种选择是使用+运算符转换为数字:

var weight = +document.getElementById("weight").value;

演示:http://jsfiddle.net/AvjS5/1/

答案 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

此外,您尚未添加逻辑以查看是否未选中任何选项按钮。