检查是否存在任何表单输入,并在1行上显示空白值

时间:2017-03-24 18:38:46

标签: javascript coffeescript

是否可以在没有jQuery的情况下使用CoffeeScript创建1个衬里,让我知道是否有任何没有值的输入?

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

any_blank_fields = false
for field in $('form input[type="text"]')
  any_blank_fields = true if field.value == ''

1 个答案:

答案 0 :(得分:1)

1。 Coffeescript one liner

这是可能的,但我认为这不是最干净或最好的解决方案:

any_blank_fields = '' in (field.value for field in $('form input[type="text"]'))

in运算符检查左侧的数值是否存在于右侧的数组中。括号内的循环将jQuery对象数组映射到字段值的数组中。

2。 jQuery过滤器

有一些jQuery特定的解决方案可能会更好用,例如使用filter(请参阅此question)。这是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