我正在重新设计菜单/子菜单 - 只需将子菜单从页面底部的某个位置移动到相应的菜单项下。现在,在页面中找到两次相同的子菜单(动作),只有在鼠标悬停时用jQuery隐藏和显示的次数之一。在两个菜单中,我都有一个指向带有try ... catch块的函数的选项。
这就是问题所在,当使用jQuery显示的动作时,Javascript在try块中崩溃(“某些东西”未定义 - 经典),就像“try”这个词甚至不存在一样。我使用了firebug调试器,并且在使用其他子菜单时发生了同样的错误,但是刚刚跳过了,并且执行了catch内部的代码。
我只是不明白这是怎么可能的,因为两个选项都调用了相同的功能,而不是2个“相同的”...
有什么想法?谢谢:))
编辑I:
function export_pdf() {
try {
ReportType=document.forms["down"].elements["ReportType"].value;
}
catch (e) {
ReportType='TDR_Report';
}
//other code...
}
错误是“document.forms.down.elements.ReportType未定义”......
谢谢!
编辑II:
调用该函数:
onclick="export_pdf();"
答案 0 :(得分:0)
在这种情况下,我只是试图避免try .. catch并测试ReportType。如果未定义ReportType,请手动设置该值。
function export_pdf() {
if (document.forms["down"].elements["ReportType"] === undefined){
ReportType = 'TDR_Report';
} else {
ReportType = document.forms["down"].elements["ReportType"].value;
}
//other code...
}