2012-04-30 15 views
-2

В JavaScript, я хочу, чтобы иметь, если другое заявление, которое изменит значение элементов (текстовое поле в HTML-форме) к нулю, если ничего не печатается, я имел следующий:Проверьте, равно ли значение null? .

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

Что-то ISN «Правильно работает в условии if, но я не уверен, что я сделал неправильно.

+1

Подумайте, что именно делает sn't работает правильно? – PeeHaa

+0

@RepWhoringPeeHaa. Проблема в том, что '' '== null // false' и значение никогда не может быть 'null' .... хотя вы правы в своем комментарии! – gdoron

+0

@ gdoron Я знаю. Я просто хотел бы обучить ОП, как задавать вопрос, а не давать неопределенное описание. :-) – PeeHaa

ответ

0

Проверьте, если это пустая строка вместо:

if(document.getElementById('dollarinput').value == ''){ 
    var dollars = 0; 
} else{ 
    var dollars = parseInt(document.getElementById('dollarinput').value, 10); 
} 
0
  • Значение входного сигнала не может быть null! если нет значения, это будет пустая строка.
  • alert('' == null);​​ // false

Исправлен код:

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

Вы должны переместить объявление переменной над if и проверить пустые кавычки, например так:

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

перемещение переменной замедления вне if, если это не нужно в javascript! если это не новая область! – gdoron

+0

Правда, но факт, что он добавлял две переменные с тем же именем, которые оба предполагали бы ту же область, вызовет у него проблемы :) – mattytommo

+0

Не могу придумать проблему, которая может вызвать ... – gdoron

0
var dollars = 0; 
var dollarinput = document.getElementById('dollarinput'); 
if(! dollarinput.length) 
{ 
    dollars = parseInt(dollarinput.value); 
} 
Смежные вопросы