表格上的日期检查不起作用

时间:2017-07-04 17:09:44

标签: javascript jquery forms

我有一个带有datepickers的表单。在提交时,我打电话给form.submit,检查选择器中选择的日期和预订日期的尖点列表。我有一个方法,使用Ajax重现这些日期。我的问题是,当我在For循环中使用IF语句检查日期时form.submit即使它不应该被击中。我想在dateCheck达到预定日期时从循环中断开。但我现在不在哪里放form.submit因此它被误击。我在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 周围使用IF来检查数组是否包含任何预订日期。但没有运气。感谢您提前获得所有帮助!!

import pygame

pygame.init()
video_infos = pygame.display.Info()
width, height = video_infos.current_w, video_infos.current_h
screen = pygame.display.set_mode((width, height), pygame.RESIZABLE)
# [...]

1 个答案:

答案 0 :(得分:0)

我不是百分百肯定,但根据我的理解,你想在bookingDates数组中有一些值(日期)时提交表单。 当数组中没有日期时,您的以下条件会导致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();
    }

我建议你把下面的if条件放在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.