-2

In javascript, I want to have an if else statement that will change an elements value(a text field in an html form) to zero if nothing is typed in. I had the following:

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

Something isn't working correctly in the if condition, but I'm not sure what I did wrong.

4

4 回答 4

1

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

var dollars;
if(document.getElementById('dollarinput').value == ''){
    dollars = 0;
}
else{
    dollars = parseInt(document.getElementById('dollarinput').value);
}
于 2012-04-30T20:17:48.300 回答
0

检查它是否是一个空字符串:

if(document.getElementById('dollarinput').value == ''){
    var dollars = 0;
} else{
    var dollars = parseInt(document.getElementById('dollarinput').value, 10);
}
于 2012-04-30T20:16:57.250 回答
0
  • 输入的值永远不可能null!如果没有值,它将是一个空字符串。
  • alert('' == null);​​ // false

固定代码:

if(document.getElementById('dollarinput').value){
    var dollars = 0;
}
else{
    var dollars = parseInt(document.getElementById('dollarinput').value);
}
于 2012-04-30T20:17:21.937 回答
0
var dollars = 0;
var dollarinput = document.getElementById('dollarinput');
if( ! dollarinput.length )
{
    dollars = parseInt(dollarinput.value);
}
于 2012-04-30T20:21:45.760 回答