Javascript 检查是否存在任何表单输入,其中一行有空白值
如果没有jQuery并使用CoffeeScript创建一个1行程序,让我知道是否有任何输入没有值,这是可能的吗 这检查它,但我想改善它,如果可能的话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
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中对我有用。你能把这个问题弄得一团糟吗?请告诉我您使用的浏览器