JavaScript - 验证一定数量的输入

时间:2016-11-15 19:38:50

标签: javascript forms validation

我有8个表单输入,要求8个半天活动日期或4个完整日期。

我收集了所有的input values并将它们放入一个数组中,并测试了收集过程,编写了以下函数,只是说如果所有输入都是空的,则保持一个按钮被禁用,如果ALL已满,启用按钮。

function checkMeetings()
    {
        for(var i = 0; i < meetings.length; i++)
        {
            if(meetings[i] === "" || meetings[i] === null)
            {
                meetingsCanSubmit = false;
            }
            else
            {
                meetingsCanSubmit =  true;
            }
        }        
    }
    checkMeetings();

该测试工作正常。

我想要做的是创建一个计数器,该计数器计算已填写的输入框的数量以及在>= 4启用按钮时的数量。 (实际上,它不会启用按钮,它将运行辅助功能,但出于本示例的目的,我保持简单。)

因为for循环正在通过i ++进行计数,所以我尝试了一些

的效果

if(meetings[i] <= 4)执行以下操作,但似乎并没有做到这一点。我应该在if语句中设置第二个计数器吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Array.prototype.filter(),查看结果数组的.length

var meetingsCanSubmit = meetings.filter(function(input) {
                          return input !== "" && input != null
                        }).length >= 4;

if (meetingsCanSubmit) {
  // do stuff
}