Получение Uncaught TypeError: Невозможно установить свойство 'innerHTML' для null . Как это исправить.

$(window).load(function() {
   document.getElementById("id_city").innerHTML = ('<option>Select a City</option>');
   var selected_state = $('#id_state').val();
   var selected_city = $('#selected_city').val();
   var data = 'state='+selected_state  + '&selected_city='+selected_city; 
   var url = $('#url').val();
   $.ajax({
     type:"POST",
     url:url,
     data:data,    // multiple data sent using ajax
     success: function (response) {
     document.getElementById("id_city").innerHTML=response;
    } 
  });  
});
1
Rupinder Kaur 12 Янв 2017 в 15:47

5 ответов

Лучший ответ

Эта ошибка означает в этой строке:

document.getElementById("id_city").innerHTML

У тебя есть

document.getElementById("id_city") = null

Пожалуйста, убедитесь, что у вас есть разметка с параметрами id, установленными в "id_city"

3
Florent Cardot 12 Янв 2017 в 12:50
document.getElementById("id_city").innerHTML=response;

Кому

document.getElementById("id_city").html(response);

Или

$('#id_city').html(response);
0
user5842219user5842219 12 Янв 2017 в 12:49

Вы можете использовать jquery method

$("#id_city").html(response);
0
Super User 12 Янв 2017 в 12:48

Убедитесь, что у вас есть элемент с этим идентификатором на странице. Если возможно, пожалуйста, поделитесь HTML для лучшего результата.

Пример: <select id="id_city"></select>

2
Andrew Stalker 12 Янв 2017 в 13:44

Строка ошибки - document.getElementById ("id_city"). InnerHTML, и причина может быть

  • элемент не в HTML
  • скрипт вызывается до того, как элемент привязан к html

Попробуйте разместить скрипт внизу страницы

1
Macfer Ann 12 Янв 2017 в 12:56