我正在为一个客户的网站工作,这部分代码过去一直有效,但是突然不再起作用。没有人接触过核心代码,我什至不知道在哪里寻找解决方案。
我们使用Docebo(一种LMS),在测试中,我们要求学生选择一个答案,然后他们才能单击“下一个问题”。如果他们尚未选择答案,则该按钮将显示为灰色且不可单击。我相信该框架为此使用了YUI库。
在选择答案之前,我没有收到“ Uncaught TypeError:无法读取未定义的属性'next_page”错误。一旦发生错误,该按钮就不会起作用。
Chrome的控制台指向了这段代码...
function controlTotQuestion()
{
var info = YAHOO.util.Dom.get('answer_info');
if(tot_question == 0)
{
setTimeout(function() {
if(YAHOO.buttonObjects.next_page)
YAHOO.buttonObjects.next_page.set('disabled', false);
if(YAHOO.buttonObjects.show_result)
YAHOO.buttonObjects.show_result.set('disabled', false);
if(info)
info.style.display = 'none';
}, 0);
}
else
{
setTimeout(function() {
if(YAHOO.buttonObjects.next_page)
YAHOO.buttonObjects.next_page.set('disabled', true);
if(YAHOO.buttonObjects.show_result)
YAHOO.buttonObjects.show_result.set('disabled', true);
if(info)
info.style.display = 'block';
}, 0);
}
}
任何帮助将非常感激!
谢谢!
最佳答案
它正在尝试读取next_page
的属性YAHOO.buttonObjects
。因此YAHOO.buttonObjects
是未定义的。换句话说,无论YAHOO
是什么,它都不再具有称为buttonObjects
的元素。 YAHOO
是外部库吗?如果是这样,请检查他们是否已删除buttonObjects
功能。