2016-11-15 9 views
0

8つの半日の活動日または4つの満月日のいずれかを入力するフォーム入力が8つあります。JavaScript - 特定の数の入力を検証する

私はinput valuesのすべてを収集し、それらを配列に入れて、すべての入力が空であれば次の関数を書いて、ボタンを無効にしてください。ボタン。

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文の中に2番目のカウンタを設定する必要がありますか?

+0

入力が空になっている場合は、配列に値を格納していますか?はいの場合、値が空の場合は何を配列に格納しますか? –

+0

この関数は、 'meetings'に1つの要素がある場合にのみうまく動作します。最後の要素のみに基づいてフラグを設定します。 – JJJ

+0

@DhavalSoniは実際には大きな質問で、私が考えていなかったものです。内容に関係なく値を格納するのが良いでしょうが、空の値とNULL以外の値の変数カウンタを作成して比較するだけですか? –

答えて

0

あなたは、アレイ結果の.lengthを確認し、Array.prototype.filter()使用することができます

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

if (meetingsCanSubmit) { 
    // do stuff 
} 
関連する問題