【发布时间】:2015-05-09 14:34:16
【问题描述】:
我从我的 magento 项目中收到如下 js 错误。我的项目 url 是 check my project。我认为这是原型 js 的错误。我尝试了 js noconflict 但没有用。
错误:
未捕获的类型错误:(中间值)(中间 值)(中间值)(中间值)(中间值)是 不是函数 www.bigzaar.com/:1 Uncaught ReferenceError: jQuery is 未定义 www.bigzaar.com/:93 Uncaught ReferenceError: jQuery is not 定义 www.bigzaar.com/:151 Uncaught ReferenceError: jQuery is not 定义 www.bigzaar.com/:157 Uncaught ReferenceError: jQuery is not 定义 www.bigzaar.com/:420 Uncaught ReferenceError: jQuery is not 定义 jquery.mobile.customized.min.js:10 Uncaught ReferenceError: jQuery 未定义 camera.js:2238 Uncaught ReferenceError: jQuery 未定义 www.bigzaar.com/:607 Uncaught ReferenceError: jQuery is 未定义 www.bigzaar.com/:704 Uncaught ReferenceError: jQuery is 未定义 www.bigzaar.com/:863 Uncaught ReferenceError: jQuery is 未定义
我的 js 文件
/********Javascript for FREE TEXT SEARCH ************/
var Quicksearch = Class.create();
var idSearchInput = '';
Quicksearch.prototype = {
initialize: function(searchUrl,resultNotice,idSearchInput){
this.idSearchInput = idSearchInput;
this.searchUrl = searchUrl;
this.onSuccess = this.onSuccess.bindAsEventListener(this);
this.onFailure = this.onFailure.bindAsEventListener(this);
this.currentSearch = '';
this.resultNotice = resultNotice;
},
search: function(){
var searchBox = $(this.idSearchInput);
if(searchBox.value=='')
{
return;
}
if ((this.currentSearch!="") &&(searchBox.value == this.currentSearch)) {
return;
}
this.currentSearch = searchBox.value;
searchBox.className = 'loading-result input-text';
var keyword = searchBox.value;
url = this.searchUrl+"keyword/" + escape(keyword);
new Ajax.Request(url, {
method: 'get',
onSuccess: this.onSuccess,
onFailure: this.onFailure
});
},
onFailure: function(transport){
$(this.idSearchInput).className ="input-text";
},
onSuccess: function(transport)
{
var showResults = $('showResults');
showResults.style.display = "block";
var listResults = $('listResults');
listResults.style.display = "block";
var searchBox = $(this.idSearchInput);
if (transport && transport.responseText) {
try{
response = eval('(' + transport.responseText + ')');
}
catch (e) {
response = {};
}
if (response.html != "") {
this.currentSearch = searchBox.value;
listResults.update(response.html);
var searchResultNotice = this.resultNotice;
var strNotice = searchResultNotice.replace("{{keyword}}",this.currentSearch);
this.updateResultLabel(strNotice);
searchBox.className = 'search-complete input-text';
}
else
{
listResults.update(response.html);
this.updateResultLabel('No results for "<span class="keyword">'+this.currentSearch+'</span>"');
searchBox.className ="search-complete input-text";
}
}
},
updateResultLabel: function(message)
{
$("resultLabel").update(message);
}
}
我的js调用函数
<script type="text/javascript">
var quicksearch = new Quicksearch(
'<?php echo $this->getUrl('freetextsearch/search/quicksearch') ?>',
'<?php echo $resultNotice ?>',
'input_search'
);
var numberChar = <?php echo Mage::getStoreConfig('freetextsearch/quick_search_setting/number_character')?>;
Event.observe('input_search', 'keyup', function(event){
var searchBox = $('input_search');
if(searchBox.value.length >= numberChar){
quicksearch.search();
}
});
function closeDropdown() {
var showResults = $('showResults');
showResults.style.display = "none";
}
</script>
请帮我解决这个错误。任何帮助都会很明显
【问题讨论】:
标签: jquery magento prototypejs conflict magento-1.8