我的表单中有4个输入,并使用querySelectorAll Select 它们.我想判断如果所有输入的值不是空的,我如何才能有效地进行判断?

我所做的:

const inputs = document.querySelectorAll('.input'):
if (inputs[0,1,2,3].value !== '') {
        alert('submit');
        form.reset();
    }

推荐答案

您可以将 node 列表转换为数组,然后使用.every():

const allFilled = Array.from(document.querySelectorAll(".input"))
  .every(input => input.value !== "");

您的try :inputs[0,1,2,3].value将不起作用; JavaScript不提供隐含的功能.相反,inputs[0,1,2,3]最终与inputs[3]完全相同,因为逗号被解析为"逗号运算符",这是一个表达式分隔符.前三个表达式被求值,但其值被忽略;总体结果仅为3.

Javascript相关问答推荐

React Hooks中useState的同步问题

获取表格的左滚动位置

具有相同参数的JS类

如何才能拥有在jQuery终端中执行命令的链接?

Exceljs:我们在file.xlsx(...)&#中发现了一个问题'"" 39人;

XSLT处理器未运行

Angular 订阅部分相互依赖并返回数组多个异步Http调用

在HTML语言中调用外部JavaScript文件中的函数

如何使用JavaScript拆分带空格的单词

为什么客户端没有收到来自服务器的响应消息?

在画布中调整边上反弹框的大小失败

如何在FastAPI中为通过file:/URL加载的本地HTML文件启用CORS?

第一项杀死下一项,直到数组长度在javascript中等于1

AddEventListner,按键事件不工作

如何使用Astro优化大图像?

如何根据输入数量正确显示alert ?

如何在Firebase中读取对象的特定字段?

使用静态函数保存 node 前的钩子

如何缩小函数中联合返回类型的范围

如何在preLoad()中自定义p5.js默认加载动画?