2

你好,我是 javascript 和 jquery 的初学者,我收到了这个错误:

无法读取未定义的属性(读取“长度”)

我不知道如何解决这个问题。如何解决此错误?

这是我的js文件:

var fname, lname, organization, designation, email, m_number;
$('#proceedBtn').on('click', function(event) {
    fname = $('#fname').val();
    lname = $('#lname').val();
    email = $('#email').val();
    phone = $('#m_number').val();
    organization = $('#organization').val();
    designation = $('#designation').val();
    //set it to true
    var isProceed = true;

    if (fname.trim() === "" || fname.length < 2) {
        alertify.error('Please input your first name');
        isProceed = false;
    }

    if (lname.trim() === "" || lname.length < 2) {
        alertify.error('Please input your last name');
        isProceed = false;
    }
    const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    var emailValid = re.test(String(email).toLowerCase());

    if (email.trim() === "" || email.length < 3 || !emailValid) {
        alertify.error('Please check your email');
        isProceed = false;
    }

    if (m_number === "" || m_number.length < 3) {
        alertify.error('Please input your phone');
        isProceed = false;
    }
    if (organization.trim() === "" || organization.length < 2) {
        alertify.error('Please input your organization');
        isProceed = false;
    }

    if (designation.trim() === "" || designation.length < 2) {
        alertify.error('Please input your designation');
        isProceed = false;
    }


    if (isProceed) {
        procceedBTN();
        // $('html, body').animate({scrollTop: '0px'}, 0);
    }
})
4

2 回答 2

2

您已经在顶部启动了一些变量,但没有为它们定义/分配任何值

var fname、lname、组织、名称、电子邮件、m_number;

请注意,这些变量的值未定义

在函数开始时,您为 fname、lname 和电子邮件分配了一些值,但 m_number 仍然未定义。

在您的整个代码中,您从未为 m_number 分配任何值

但在您的代码中:

 if (m_number === "" || m_number.length < 3) {
    alertify.error('Please input your phone');
    isProceed = false;
}

您要求检查未定义变量的长度

m_number.length //this is the error

您可以简单地删除这部分代码,也可以为 m_number 定义一个值

m_number = ''
于 2021-12-15T02:50:22.797 回答
0

只需将“电话”更改为“m_number”

于 2021-12-15T02:54:57.197 回答