无法修复无法读取未定义的属性(读取 'length')
cant fix Cannot read properties of undefined (reading 'length')
你好,我是 javascript 和 jquery 的新手,我遇到了这个错误:
Cannot read properties of undefined (reading 'length')
我不知道如何解决这个问题。如何修复此错误?
这是我的 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);
}
})
您在顶部启动了一些变量,但没有defined/assigned给它们任何值
var fname, lname, organization, designation, email, m_number;
请注意,这些变量的值未定义
在函数的开头,您为 fname、lname 和 email 分配了一些值,但仍然 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 = ''
只需将 'phone' 更改为 'm_number'
你好,我是 javascript 和 jquery 的新手,我遇到了这个错误:
Cannot read properties of undefined (reading 'length')
我不知道如何解决这个问题。如何修复此错误?
这是我的 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);
}
})
您在顶部启动了一些变量,但没有defined/assigned给它们任何值
var fname, lname, organization, designation, email, m_number;
请注意,这些变量的值未定义
在函数的开头,您为 fname、lname 和 email 分配了一些值,但仍然 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 = ''
只需将 'phone' 更改为 'm_number'