Prototype.js错误 - 'undefined'为null或不是对象

时间:2011-06-20 13:50:36

标签: javascript prototypejs

我在Prototype.js中遇到以下错误

'undefined' is null or not an object line 5557 char 5

这是:

var respondersForEvent = registry.get(eventName);
    if (Object.isUndefined(respondersForEvent)) {
      respondersForEvent = [];
      registry.set(eventName, respondersForEvent);
    }

我该如何解决这个问题?

以下是给出错误的代码:

Event.observe(window, "load", function () { 
    Event.observe("query", "keypress", function (e) { 
        if (e.keyCode == Event.KEY_RETURN) { 
            search(); 
        } 
    }); 
}); 

它表示错误在按键上。

2 个答案:

答案 0 :(得分:1)

你有一个ID为“查询”的元素吗?请注意,它不能只有name属性 - 对于您提供的代码,它必须具有“{”作为id属性。一个有效的例子是:

<input type="text" id="query" />

答案 1 :(得分:0)

遇到同样的问题,请查找重复的JavaScript代码。在我的情况下,我已经包括了Magento的迷你搜索形式及其相关的javascript两次:

<script type="text/javascript">
//<![CDATA[
var searchForm = new Varien.searchForm('search_mini_form_new', 'search', '<?php echo $this->__('Search entire store here...') ?>');
searchForm.initAutocomplete('<?php echo $this->helper('catalogsearch')->getSuggestUrl() ?>', 'search_autocomplete');
//]]>
</script> 

希望这可以帮助任何有同样问题的人。