Javascript 更改输入样式(如果为空)

Javascript 更改输入样式(如果为空),javascript,jquery,Javascript,Jquery,如果提交表单时输入边框为空,我将尝试更改其颜色。我的尝试: $document.readyfunction{ var$form=$'form[name=f_cadastrofinan]; $form.submitfunction{ var confOs=$'input[name=os]'。val; var confData=$'input[name=data]'.val; var confTech=$'input[name=tech]'.val; var confDescri=$'input[n

如果提交表单时输入边框为空,我将尝试更改其颜色。我的尝试:

$document.readyfunction{ var$form=$'form[name=f_cadastrofinan]; $form.submitfunction{ var confOs=$'input[name=os]'。val; var confData=$'input[name=data]'.val; var confTech=$'input[name=tech]'.val; var confDescri=$'input[name=desci]'.val; var confPag=$'input[name=pag]'.val; var confValor=$'input[name=valor]'.val; 如果confOs==| | confData==| | confTech==| | | confDescri==| | confPag==| | confValor=={//检测空 警报“preencha os campos:”;//如何列出空输入? $'input[type=text]'。is':空'.css'border','1px实心红色';//更改边框输入 }否则{ $.post$this.attr'action',$this.serialize,functionresponse{ }"json",; 警报“inserido com successo!”; } 返回false; }; };
看看你的控制台。它将包含一个错误。这是因为is返回的是一个布尔值,而不是jQuery对象,所以不能从中链接另一个jQuery方法调用

此外,正如@Roy在注释中指出的,:empty查看元素中的节点。因此,它对输入元素的值不起作用

要解决此问题,请改用筛选器:

更妙的是,在元素中添加一个类,而不是在JS中嵌入CSS:

$('input[type="text"]').filter((i, e) => e.value.trim().length === 0).addClass('error');

看看你的控制台。它将包含一个错误。这是因为is返回的是一个布尔值,而不是jQuery对象,所以不能从中链接另一个jQuery方法调用

此外,正如@Roy在注释中指出的,:empty查看元素中的节点。因此,它对输入元素的值不起作用

要解决此问题,请改用筛选器:

更妙的是,在元素中添加一个类,而不是在JS中嵌入CSS:

$('input[type="text"]').filter((i, e) => e.value.trim().length === 0).addClass('error');
检查val.length,如下所示:

$'input[type=text]'.val.length检查val.length,如下所示:

$'input[type=text]'.val.length我认为:空对输入值不起作用:检查我认为:空对输入值不起作用:检查