Javascript 检查是否存在任何表单输入,其中一行有空白值

Javascript 检查是否存在任何表单输入,其中一行有空白值,javascript,coffeescript,Javascript,Coffeescript,如果没有jQuery并使用CoffeeScript创建一个1行程序,让我知道是否有任何输入没有值,这是可能的吗 这检查它,但我想改善它,如果可能的话 any_blank_fields = false for field in $('form input[type="text"]') any_blank_fields = true if field.value == '' 1.咖啡一行 这是可能的,但我认为这不是最干净或最好的解决方案: any_blank_fields = '' in (f

如果没有jQuery并使用CoffeeScript创建一个1行程序,让我知道是否有任何输入没有值,这是可能的吗

这检查它,但我想改善它,如果可能的话

any_blank_fields = false
for field in $('form input[type="text"]')
  any_blank_fields = true if field.value == ''
1.咖啡一行 这是可能的,但我认为这不是最干净或最好的解决方案:

any_blank_fields = '' in (field.value for field in $('form input[type="text"]'))
中的
运算符检查左侧的值是否存在于右侧的数组中。括号内的循环将jQuery对象数组映射为字段值数组


2.jQuery过滤器 有一些特定于jQuery的解决方案可能工作得更好,例如使用
过滤器
(参见此)。以下是CoffeeScript版本:

emptyFields = $('form input[type="text"]').filter -> this.value is ''
这将返回所有空字段的数组,您可以使用

!!emptyFields.length # as zero values are falsey

3.CSS选择器 如果所有输入元素在HTML中都具有
value
属性,则可以使用:

anyEmptyFields = $('form input[type="text"][value=""]').length > 0 

你的第一个答案就是我想要的谢谢!有一个问题,每当我跑#3,它就永远不会起作用。这是我沮丧的一部分。如果我在空白输入字段中键入“asd”,然后转到控制台并键入“$”('form input[type=“text”][value=”“])。first().val()“'它将返回“asd”。。。“它应该是空白的吗?”JohnPollard有趣的是,它在Chrome57中对我有用。你能把这个问题弄得一团糟吗?请告诉我您使用的浏览器