Javascript 修剪“输入字段”

Javascript 修剪“输入字段”,javascript,input,trim,Javascript,Input,Trim,我正在尝试创建一个表单验证函数,并在输入字段上使用forEach 我认为问题在于我处理的是字段,而不是字段的内容,例如:input.addEventListener等,所以我无法修剪它们 如上面的例子所示,我尝试用字段input.value的内容创建一个变量input,修剪它并将其传递给函数。现在我得到一个错误:input.validity未定义 有人能推荐一种方法来修剪输入字段的值,然后运行有效性检查吗 谢谢。输入元素上存在.validity属性,而不是经过修剪的字符串 您需要首先将该值更新为

我正在尝试创建一个表单验证函数,并在输入字段上使用forEach

我认为问题在于我处理的是字段,而不是字段的内容,例如:input.addEventListener等,所以我无法修剪它们

如上面的例子所示,我尝试用字段input.value的内容创建一个变量input,修剪它并将其传递给函数。现在我得到一个错误:input.validity未定义

有人能推荐一种方法来修剪输入字段的值,然后运行有效性检查吗

谢谢。

输入元素上存在.validity属性,而不是经过修剪的字符串

您需要首先将该值更新为修剪后的值,然后检查输入字段的有效性

例如:

input.addEventListener("blur", function (){

        input.value = input.value.trim();

        if(input.validity.valueMissing){
           // ...

在这段代码中

const inputT = input.value.trim();
trim函数返回一个新字符串,而不是HTML元素或输入元素 因此,新字符串没有validity属性

然后更新此代码:

 const inputT = input.value.trim();
    if(inputT.validity.valueMissing){...}
为此:

input.value = input.value.trim();
if(input.validity.valueMissing){...}

input是一个字符串,而不是元素。考虑使用更精确的变量名来避免这些类型的问题,这是一个变量。抱歉,我不明白您在if-you中试图表达的意思,您使用的input.validity不是字符串的一部分。谢谢。这就是我要找的。谢谢。这就是我要找的。
input.value = input.value.trim();
if(input.validity.valueMissing){...}