function valid()
{
    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");
}
当if语句为false时,它永远不会报警("结束")?如果是真的,它会正确执行.为什么?
可能存在空指针异常,并且您没有输出到浏览器的错误.
你需要一些输出来检查:
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);
    }
}
| 归档时间: | 
 | 
| 查看次数: | 438 次 | 
| 最近记录: |