Javascript 类型错误:无法为空值检查读取未定义的属性长度
这些是我的html表单的javascript函数,分别用于验证“input”元素和“select”元素中的空值。空的\u选择\u检查功能不起作用,我不知道为什么,但是空的\u值检查对单个字段起作用。但是,它在空值函数中不起作用。请注意,当用户单击submit时,将调用空的_值_all()。 我得到以下错误: 类型错误:无法为空值检查读取未定义的属性长度。你知道为什么它适用于单个字段,但不适用于我尝试提交的时候吗?如果您需要我的html代码,但基本上它只是带有onkeyup=“”的输入元素,我在其中调用js函数,请告诉我Javascript 类型错误:无法为空值检查读取未定义的属性长度,javascript,html,jquery,django,Javascript,Html,Jquery,Django,这些是我的html表单的javascript函数,分别用于验证“input”元素和“select”元素中的空值。空的\u选择\u检查功能不起作用,我不知道为什么,但是空的\u值检查对单个字段起作用。但是,它在空值函数中不起作用。请注意,当用户单击submit时,将调用空的_值_all()。 我得到以下错误: 类型错误:无法为空值检查读取未定义的属性长度。你知道为什么它适用于单个字段,但不适用于我尝试提交的时候吗?如果您需要我的html代码,但基本上它只是带有onkeyup=“”的输入元素,我在其
function submitform(){
empty_value_all()
$('#Start').click()
}
}
function empty_value_check(ele) {
let value = ele.value;
console.log(value)
if (value === '' || value.length === 0) {
if ($(ele).closest('div').find('small').length != 0)
$(ele).closest('div').find('small').removeClass('hide').removeClass('d-none');
else
$(ele).closest('div').nextAll('small').removeClass('hide').removeClass('d-none');
$(ele).addClass('is-invalid');
}
else {
$(ele).nextAll('small').addClass('hide');
$(ele).removeClass('is-invalid');
}
}
function empty_select_check(ele) {
if (ele.value === "Select Folder" || ele.value === undefined) {
$(ele).addClass('invalid-feedback');
return false
} else {
$(ele).removeClass('is-invalid');
}
}
$(function() {
$('#field_5,#field_6,#field_7').on('change', empty_select_check(this))
})
function empty_value_all() {
$('#field_1,#field_2,#field_3,#field_4').each(empty_value_check(this));
$('#field_5,#field_6,#field_7').each(empty_select_check(this));
return false;
}
$(选择器)。每个(循环函数)
都需要一个函数作为输入,但在所讨论的代码中,它是传递的函数的结果。如下所示更新空值\u all
,然后重试
function empty\u value\u all(){
$(“#字段_1,#字段_2,#字段_3,#字段_4”)。每个(函数(){
空值检查(此);
});
$(“#字段_5,#字段_6,#字段_7”)。每个(函数(){
清空\u选择\u检查(此项);
});
//...
}
看起来您传递到空值检查中的参数未被正确处理,因为这是一个类型错误
,您的函数需要一个字符串,然后您必须发现它得到一个未定义的类型对象