Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查值是否为空?_Javascript_Html_Text_If Statement_Null - Fatal编程技术网

Javascript 检查值是否为空?

Javascript 检查值是否为空?,javascript,html,text,if-statement,null,Javascript,Html,Text,If Statement,Null,在javascript中,我希望有一个if-else语句,如果没有键入任何内容,它会将元素值(html表单中的文本字段)更改为零。我有以下几点: if(document.getElementById('dollarinput').value == null){ var dollars = 0; } else{ var dollars = parseInt(document.getElementById('dollarinput').value); } 在if条件下,某些内容无法

在javascript中,我希望有一个if-else语句,如果没有键入任何内容,它会将元素值(html表单中的文本字段)更改为零。我有以下几点:

if(document.getElementById('dollarinput').value == null){
    var dollars = 0;
}
else{
    var dollars = parseInt(document.getElementById('dollarinput').value);
}

在if条件下,某些内容无法正常工作,但我不确定我做错了什么。

检查它是否为空字符串:

if(document.getElementById('dollarinput').value == ''){
    var dollars = 0;
} else{
    var dollars = parseInt(document.getElementById('dollarinput').value, 10);
}
  • 输入值永远不能为
    null
    !如果没有值,它将是一个空字符串
  • 警报(''==null);​​ // 错误
固定代码:

if(document.getElementById('dollarinput').value){
    var dollars = 0;
}
else{
    var dollars = parseInt(document.getElementById('dollarinput').value);
}

您需要将变量声明移到
if
上方,并检查是否有空引号,如下所示:

var dollars;
if(document.getElementById('dollarinput').value == ''){
    dollars = 0;
}
else{
    dollars = parseInt(document.getElementById('dollarinput').value);
}

“想知道到底是什么不正常吗?”RepWhoringPeeHaa。问题是
'==null//false
并且值永远不能是
null
。。。。尽管你的评论是对的@我知道。我只是想教育OP如何提问,而不是给出模糊的描述。:-)@雷波林佩哈。我有种感觉,我们在几周前就有了这样的转变…@gdoron不会让我感到惊讶;)在javascript中,将变量减速移到if之外是不必要的!如果不是一个新的范围!是的,但事实是他添加了两个同名变量,这两个变量都假设相同的范围,这会给他带来问题:)它不知道设置了哪一个?请阅读有关提升的内容。不,同一范围内不能有两个同名的变量!事实上,你是对的,我刚刚通过小提琴检查过:)。我的回答仍然解决了他没有检查空字符串的问题:)
var dollars = 0;
var dollarinput = document.getElementById('dollarinput');
if( ! dollarinput.length )
{
    dollars = parseInt(dollarinput.value);
}