2011-05-11 163 views
-1

任何人都可以解释什么是这些错误?未捕获类型错误

Uncaught TypeError: Cannot set property 'innerHTML' of null

Uncaught TypeError: Cannot read property 'style' of null

Uncaught SyntaxError: Unexpected token ILLEGAL

Uncaught TypeError: Object # has no method 'dispatchEvent'

这是我的测试Website

+2

你有没有试过看这些消息的详细信息的萤火虫错误控制台? – 2011-05-11 12:29:35

+0

真的应该尝试发布至少一些代码进行审查,而不是只是一些外部链接到某个网站。 – VisWebsoft 2018-01-22 14:10:08

回答

5

在你的页面的一些点:

function display_price(price, oid) 
{ 
    ... 

    element = document.getElementById(oid); 
    if (valor != 'NaN' && valor != null && valor != '') 
    { 
     element.innerHTML = valor + money_simbol; 

最后一行导致错误,因为element为空。你应该添加一个条件的,如果():就是改变这一行:

if (valor != 'NaN' && valor != null && valor != '') 

这样:

if (element && valor != 'NaN' && valor != null && valor != '') 

换句话说,这是一个很好的做法,总是检查返回在之前访问其属性的功能的值。

0

您可以调用函数display_price传递它尚未存在的span的ID。

改变这一行:(在你的代码中出现两次)

display_price('510', 'products_price_id'); 

为了这个:

window.onload = function() { 
    display_price('510', 'products_price_id'); 
}; 

这将等到页面加载试图找到一个元素之前,从而解决您的错误。