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

Javascript 如何将msg添加到未定义的变量?,javascript,variables,null,undefined,Javascript,Variables,Null,Undefined,希望我问的是正确的问题。我想添加一个消息,说明“请输入项目重量”,如果用户点击按钮,而没有在文本字段中输入任何内容。 我尝试了多种方法,但似乎都没有成功。一条消息出现时说“未定义”,而不是我希望它说/显示的内容 if( typeof(weight) == 'undefined' || weight == null) { msg = "<div id='error'>Please Enter Item Weight</div>"; } if(ty

希望我问的是正确的问题。我想添加一个消息,说明“请输入项目重量”,如果用户点击按钮,而没有在文本字段中输入任何内容。 我尝试了多种方法,但似乎都没有成功。一条消息出现时说“未定义”,而不是我希望它说/显示的内容

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

    msg = "<div id='error'>Please Enter Item Weight</div>";
    }
if(typeof(weight)='undefined'| | weight==null){
msg=“请输入物品重量”;
}

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

var weight = parseInt(document.getElementById("weight").value || 0);
当您尝试使用
parseInt
将字符串转换为数字时,如果您传递空字符串(当没有用户输入时),它将返回
NaN
。因此,在这种情况下,简单的回退到0
value | | 0
可以修复它

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

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

演示:

您可能想做的是,使用isNaN函数。当您尝试对无效字符串执行parseInt时,返回的值是NaN a.k.a而不是数字

var weight = parseInt( document.getElementById("weight").value );
if(isNaN(weight)){
    msg="<div>Hello</div>"
}
var-weight=parseInt(document.getElementById(“weight”).value);
如果(isNaN(重量)){
msg=“你好”
}
拨弄

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

if(权重=='undefined'| |权重==null){
 if( weight == 'undefined' || weight == null) {

    msg = "<div id='error'>Please Enter Item Weight</div>";
  }
msg=“请输入物品重量”; }
很可能条件不正确,因此msg的值未定义。如果您能创建一个JSFIDLE,那将是一件非常棒的事情,我们都会更乐于助人:)@IzaazYunus给您:)太棒了!这正是我想要的答案。非常感谢。谢谢Izaz,但dfsq的答案正是我想要的。