有人可以解释为什么我得到“对象必需”错误

时间:2013-02-18 03:37:55

标签: javascript html

“我前几天发布了类似的问题,感谢@Alnitak的帮助!但是,我试图在2个给定时间内启用/禁用/启用2个链接(a href)并收到”需要对象“错误这就像id使用失去焦点.page_load函数通过onload调用.nStart& nExpired等于开始和结束时间,我使用的是SetInterval而不是setTimeout(我修改了Alnitak的代码)。

如果这些是按钮或者我可以使用PHP,我就不会有问题,但是“通过超链接可以”的功能。请告诉我这是可能的..大声笑

错误发生在第二个IF条件的第一行,即使链接可见。

var myInterval;

function page_load() {
    myInterval = setInterval(function(){ShowLink()},60000);
}

function ShowLink() {
    var now = new Date();
    var clock = now.toTimeString();
    var nStart = 1310;
    var nExpired = 1312;
    var MigTime = 60 * now.getHours() + now.getMinutes();

    var disable = (day === 0 && (MigTime >= nStart && MigTime < nExpired));
    if (disable == true) {
        //hide links
        document.getElementById("prdlnk").style.visibility = "hidden";
        document.getElementById("viewlnk").style.visibility = "hidden";
        document.getElementById("MigMsg").innerHTML= "Scheduled Migration in Progress. Please try later.";

    }

    if (MigTime > nExpired) {
        //visible
        document.getElementById("prdlnk").style.visibility = "visible";
        document.getElementById("viewlnk").style.visibility = "visible";
        document.getElementById("MigMsg").innerHTML= "";
        //     clearInterval(myInterval);
    }
}

提前致谢, 弗农

2 个答案:

答案 0 :(得分:1)

可能是错误的复制粘贴,但此行缺少'

document.getElementById(prdlnk').style.visibility = "visible";

应该是

document.getElementById('prdlnk')...

另外,为什么要混合引号和双引号?选择一种风格并坚持下去。

答案 1 :(得分:0)

var disable = (day === 0 && (MigTime >= nStart && MigTime < nExpired));

在这行代码中,每天背后的意图=== 0? ===是对象类型和值的测试,它不是赋值运算符。试试day = 0