-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 に答える