Validation 禁用Submit按钮,直到使用JavaScript填充所需字段

Validation 禁用Submit按钮,直到使用JavaScript填充所需字段,validation,form-submit,disabled-control,submit-button,disable,Validation,Form Submit,Disabled Control,Submit Button,Disable,我正在尝试禁用表单提交按钮,直到填写所需的字段。但是,我的代码似乎没有在条件中正确循环,因为任何输入都会启用submit按钮 名字* 姓 电子邮件* 电话* 评论* 提交 JavaScript: let requiredInputs = document.querySelectorAll("[required]"); let submitButton = document.querySelector(".submit"); submitBu

我正在尝试禁用表单提交按钮,直到填写所需的字段。但是,我的代码似乎没有在条件中正确循环,因为任何输入都会启用submit按钮


名字*


电子邮件*
电话*
评论*
提交
JavaScript:

let requiredInputs = document.querySelectorAll("[required]");
let submitButton = document.querySelector(".submit");

submitButton.disabled = true;

for(let i = 0; i < requiredInputs.length; i++){
requiredInputs[i].addEventListener("input", buttonState)
};

function buttonState() {
  if (requiredInputs.value === "") {
    submitButton.disabled = true;
  } else {
    submitButton.disabled = false;
  }
}

let requiredInputs=document.queryselectoral(“[required]”);
让submitButton=document.querySelector(“.submit”);
submitButton.disabled=真;
for(设i=0;i
很接近,但是回调中的代码
buttonState()
不足以完成您想要的任务。它正在检查requiredInputs的值,requiredInputs是HTML输入元素的集合。您要做的是循环该集合中的每个项,并检查其值是否已设置:

function buttonState() {
  submitButton.disabled = Array.from(requiredInputs).some(x => x.value === '');
}
上面的代码将使用
some()
,在输入值为空字符串的情况下,如果任何回调结果为true,则返回true

function buttonState() {
  submitButton.disabled = Array.from(requiredInputs).some(x => x.value === '');
}