2015-01-22 5 views
-1

Почему мой JavaScript не работает?Javascript: Uncaught TypeError: Не удается прочитать свойство getContext из null

Я любитель внутри этой области, и подозреваю, что решение очень простое ...

function drawAnalysis() { 
$(document).ready(function() { 
    document.getElementById("il"); 


    var pie = new RGraph.Pie({ 
      id: 'i1', 
       data: [4,3], 
       options: { 
      colors: ['blue', 'rgb(255,255,255)'], 
      labels: { 
          self: ["",""], 
      }, 
      radius: 213, 
      exploded: [0] 
       } 
    }).roundRobin() 

}); 

}

Я не уверен, что мне позволено показать RGraph.Pie сценарий здесь из-за вопросов авторского права, но линии провал попытки читает как этот

 this.context   = this.canvas.getContext ? this.canvas.getContext("2d", {alpha: (typeof id === 'object' && id.alpha === false) ? false : true}) : null; 

Я ценю помощь :-)

+2

Вы набрали идентификатор двумя способами, сначала с нижним регистром L, затем с номером 1 – adeneo

+0

Хорошо заметили - теперь я получаю еще одну ошибку. Se комментарий ниже – mdal76

ответ

0

Отладчик Javascript сразу же станет очевидным, что происходит. Я использую Firebug в Firefox; существует несколько хороших альтернатив.

Сообщение об ошибке означает, что вы как-то пытаетесь оценить null.getContext. В строке кода, который вы опубликовали, это может произойти только в том случае, если this.canvas === null. Вероятно, это происходит из-за очевидной опечатки, отмеченной adeneo. Кроме того, возможно, вам не удалось присвоить действительное значение this.canvas перед выполнением этой строки; или, возможно, значение «это» - это нечто иное, чем то, что вы ожидаете.

Кроме того, если вы используете JQuery, вы можете сделать следующие улучшения:

$ (документ) .ready (функция()

может стать просто:

$ (функция() {/ * делать вещи * /});

document.getElementById ("иль")

может стать

$ ('# il')

+0

Коррекция опечатки помогла - но теперь я получаю новую ошибку: «Uncaught TypeError: Невозможно прочитать свойство« translate »of null» Связанная строка: this.context.translate (0.5.0.5); – mdal76

+0

Таким образом, значение this.context, вероятно, равно нулю. Установите отладчик и используйте его для проверки этого. – AnotherSmellyGeek

Смежные вопросы