Getting " TypeError: triggerElement is null " error in magento on product page using calendar
Getting " TypeError: triggerElement is null " error in magento on product page using calendar
我遇到了这个错误
“
类型错误:triggerElement 为 null
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('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.triggerElement
和 params.dateField
,因为如果这一行
var triggerElement = $(params.triggerElement || params.dateField)
将 null
分配给 triggerElement
然后你会得到你得到的错误。
在此行 var triggerElement = $(params.triggerElement || params.dateField)
之后,您可以进行 null
检查并创建元素(如果在绑定点击事件之前未创建)。
我遇到了这个错误 “ 类型错误:triggerElement 为 null
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('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.triggerElement
和 params.dateField
,因为如果这一行
var triggerElement = $(params.triggerElement || params.dateField)
将 null
分配给 triggerElement
然后你会得到你得到的错误。
在此行 var triggerElement = $(params.triggerElement || params.dateField)
之后,您可以进行 null
检查并创建元素(如果在绑定点击事件之前未创建)。