2017-07-04 2 views
0

私はdatepickersを持つフォームを持っています。送信時に$('#form').on('submit')に電話して、ピッカーで選択された日付を予約された日付のシャープポイントリストと照合します。私はAjaxでこれらの日付を検索するメソッドを持っています。私の問題は、ForループでIF文を使って日付をチェックするときです。form.submitはそれを避けるべきです。 dateCheckが予約された日付に達するとループから抜け出したい。しかし、私は今どこにform.submitを置くべきではないので、dosentが誤ってヒットすることになります。 form.submitの周りのIFでtrieを実行して、配列に予約された日付が含まれているかどうかを確認しました。運がない。すべての助けをありがとう!フォームの日付チェックが機能しない

if ($("#startDatePicker").datepicker("getDate") !== null) { 

    if (!$("#enddate").is(":hidden") && 
    $("#endDatePicker").datepicker("getDate") === null) { 

    $("#infoModal h4").text("Hint"); 
    $("#infoModal p").text("Please select a End date"); 
    $("#infoModal").modal("show"); 

    } else { 

    var bookedDates = []; 
    //ForLoop för som kollar alla datum mot valda datum 
    for (var i = 0; i < parsedDates.length; i++) { 

     if (dateCheck(start, end, parsedDates[i])) { 
     $("#infoModal h4").text("Validation error"); 
     $("#infoModal p") 
      .text("You have entered a busy date or interval that overlaps an already booked date."); 
     $("#infoModal").modal("show"); 
     bookedDates.push(parsedDates[i]); 
     break; 

     } 

     if (!$.isArray(bookedDates) || !bookedDates.length) { 
     form.submit(); 
     } 
    } //parsedDates loop 

    } //endDatePicker != hidden && endDatePicker != null 


} //StartDatePicker != null 
+0

コードをテストするにはどうすればよいですか?これを読んでください:[mcve] –

答えて

0

私は100%確信していませんが、bookedDates配列に値(日付)が含まれているとフォームを送信したいと思っています。 TRUEであなたの以下の条件の結果

!$.isArray(bookedDates) -> false (As it's a array) 
!bookedDates.length -> true (if no date is push in array then value is 0 and !0 -> True and form will submit. 
if (!$.isArray(bookedDates)||!bookedDates.length) { 
     form.submit(); 
    } 

私はあなたをお勧めしますような配列には日付がないforループの外に、以下の場合は条件をつけました。

if ($.isArray(bookedDates) && bookedDates.length) { 
     form.submit(); 
    } 

$.isArray(bookedDates): it should be a array 
bookedDates.length : and Must have one date inside the array. 
+0

あなたの答えを正しく編集してください。/ /等。 –

+0

完璧に良い質問です。私は配列が空の時だけ提出したいです。つまり、新しい日付範囲に重複する日付はありません。 – AllramEst

関連する問題