可能存在空指针异常,并且您没有输出到浏览器的错误.
你需要一些输出来检查:
alert(document); alert(document.dd); alert(document.dd.begin); alert(document.dd.begin.checked); alert(document.dd.end); alert(document.dd.end.checked);
如果从任何这些中获取未定义,那么您的代码将无法正确执行.
编辑:此外,这里的其他答案都有很好的信息.阅读这些内容.
编辑2:替代 - 在try/catch块中包围您的代码并提醒错误:
function valid(){ try{ begin_checked = false; end_checked = false; alert("begin_checked: " +begin_checked); alert("end_checked: " +end_checked); if (document.dd.begin.checked.length == undefined || document.dd.end.checked.length == undefined ){ alert("In undefined"); } alert("end"); } catch (e) { alert(e); } }