JavaScript, если условие не выполняет все команды - PullRequest
0 голосов
/ 14 марта 2012

У меня одна маленькая проблема насморка.У меня есть простое условие if в коде JavaScript.Это выглядит примерно так:

if (istinito) 
{  
   alert ('123');
   document.getElementById('obavestavanje').value="Pobedi "+ime_igraca+"!!!"; 
   kraj=true;
}

Предупреждение появляется, когда istinito = true, но элемент с id = "obavestenje" никогда не получает своего значения, а переменная kraj никогда не устанавливается в trueПеременная kraj является глобальной переменной, и нет никаких конфликтов с другими частями кода JS.Есть идеи, почему код останавливается после предупреждения?

Ответы [ 3 ]

0 голосов
/ 14 марта 2012

Похоже, document.getElementById('obavestavanje') возвращает ноль. Вы пытаетесь отменить ссылку на нулевую ссылку, используя document.getElementById ('obavestavanje') .value , что приводит к исключению нулевого указателя. Если вы посмотрите в консоль, вы должны увидеть какое-то исключение. Перед проверкой разыменования всегда рекомендуется проверить, возвращает ли document.getElementById () действительный объект.

, например

if (istinito) 
{  
   alert ('123');
   element = document.getElementById('obavestavanje')
   if(element){
      element.value="Pobedi "+ime_igraca+"!!!"; 
   }
   kraj=true;
}
0 голосов
/ 15 марта 2012

Похоже, ваш код в порядке. И вы уверены, что у вас есть элемент с идентификатором 'obavestavanje'. Не могли бы вы сказать, что это за элемент? Это кнопка, текстовое поле или что-то подобное?

Также Строка в "Победах" + ime_igraca + "!!!" что такое ime_igraca? Является ли это переменная, и если вы ее где-то определили?

Или вы хотели дать значение "Pobedi ime_igraca !!!" ??

Спасибо Ранис МК

0 голосов
/ 14 марта 2012

Первый совет, который я могу вам дать: используйте больше журналов консоли для отладки.Практически в любом современном браузере есть консоль для отладки и других вещей.

if (istinito) {
    console.log("i am here");    
}

с этой же консоли вы также можете выполнять команды.Эти манипуляции с DOM легко выполняются с консоли.просто запустите их и посмотрите, работает ли он.

код:

document.getElementById('obavestavanje').value = "some value" 

выглядит нормально.в этом нет ничего плохого.я думаю, у вас нет элемента с идентификатором "obavestavanje"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...