首页 > 解决方案 > JS中的嵌套Ifs返回未定义

问题描述

我的功能应该在提交之前进行一些表单检查。我写了这个例程来检查:

function form_saveable(){
    if (!$('#id_emplacn').val()){
        return false;
    } else if (!$('#id_emplfirst').val()){
        status_code_handler(4001);
        return false;
    } else if (!$('#id_empllast').val()){
        status_code_handler(4002);
        return false;
    } else if ($('#id_emplbd').val()){
//Function gets stucked here
        let input = new Date($('#id_emplbd').val());
        let today = Date.now();
        if (input >= today){
            status_code_handler(4003);
            return false;
        }
    } else if ($('#id_emplphone').val()){
        var pattern = new RegExp($('#id_emplphone').attr("pattern"));
        if (!pattern.test($('#id_emplphone').val())){
            status_code_handler(4004);
            return false;
        }
    } else if (!$('#id_emplmail').val()){
        status_code_handler(4005);
        return false;
    } else {
        return true;
    }
}

我的前三个检查工作正常。当检查输入的生日是否不在未来时,该函数返回未定义的结果。我不明白为什么。该函数卡在这个 if 子句中。不会执行以下检查。嵌套 if 和 else if 是否有错误?

标签: javascriptif-statement

解决方案


推荐阅读