Javascript 获得;TypeError:triggerElement为空";使用日历在产品页上的magento中出错
我面临着这个错误 " TypeError:triggerElement为空 triggerElement.onclick=函数(){ " 当我在magento v-1.8.1.0上安装预订模块时 其功能使用日历Javascript 获得;TypeError:triggerElement为空";使用日历在产品页上的magento中出错,javascript,magento,calendar,prototype,Javascript,Magento,Calendar,Prototype,我面临着这个错误 " TypeError:triggerElement为空 triggerElement.onclick=函数(){ " 当我在magento v-1.8.1.0上安装预订模块时 其功能使用日历 Calendar.setup = function(params) { function param_default(name, def) { if (!params[name]) params[name] = def } param_default('d
Calendar.setup = function(params)
{
function param_default(name, def) {
if (!params[name]) params[name] = def
}
param_default('dateField', null)
param_default('triggerElement', null)
param_default('parentElement', null)
param_default('selectHandler', null)
param_default('closeHandler', null)
// In-Page Calendar
if (params.parentElement)
{
var calendar = new Calendar(params.parentElement)
calendar.setSelectHandler(params.selectHandler || Calendar.defaultSelectHandler)
if (params.dateFormat)
calendar.setDateFormat(params.dateFormat)
if (params.dateField) {
calendar.setDateField(params.dateField)
calendar.parseDate(calendar.dateField.innerHTML || calendar.dateField.value)
}
calendar.show()
return calendar
}
//弹出式日历
//
//XXX通过创建
//日历,并将其存储在页面上,但之后您将遇到问题
//同一页上有多个日历
else
{
var triggerElement = $(params.triggerElement || params.dateField)
triggerElement.onclick = function() {
var calendar = new Calendar()
calendar.setSelectHandler(params.selectHandler || Calendar.defaultSelectHandler)
calendar.setCloseHandler(params.closeHandler || Calendar.defaultCloseHandler)
if (params.dateFormat)
calendar.setDateFormat(params.dateFormat)
if (params.dateField) {
calendar.setDateField(params.dateField)
calendar.parseDate(calendar.dateField.innerHTML || calendar.dateField.value)
}
if (params.dateField)
Date.parseDate(calendar.dateField.value || calendar.dateField.innerHTML, calendar.dateFormat)
calendar.showAtElement(triggerElement)
return calendar
}
}
}
我在页面加载时遇到此错误,有人能指导我调试此错误吗?提前谢谢。当您在函数中传递
params
时,是否检查它是否包含params.triggerement
和params.dateField
,因为如果
var triggerement=$(params.triggerement | | params.dateField)
将null
赋值给triggerElement
,则您将得到所得到的错误
在这一行
var triggerement=$(params.triggerement | | params.dateField)
之后,如果在绑定单击事件之前没有创建元素,则可以放置null
检查并创建该元素。谢谢你,var triggerement=$(params.triggerement | params.dateField)
返回null错误的原因是jquery冲突,添加了jquery、noConflict()代码,并在该行代码中将$替换为jquery,问题得到解决