防止表单提交日期验证

时间:2015-12-15 07:54:30

标签: javascript jquery validation

这是我的代码,其中比较了两个日期并在span块中发出警报 我想检查 CheckInDate<今天然后,不应该提交表格。

$(document.getElementsByName("CheckInDate")).on("change", function () {
    var CheckInDate = $(document.getElementsByName("CheckInDate")).val();
    var today = new Date();
    var dd = today.getDate();
    var c = CheckInDate.split("-");
    var cdd = c[0];
    var cmm = c[1];
    var cyyyy = c[2];
    var mm = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();
    if(dd<10) {
        dd='0'+dd
    } 
    if(mm<10) {
        mm='0'+mm
    } 
    today = dd+'-'+mm+'-'+yyyy;
    if((cyyyy < yyyy) || (cyyyy == yyyy && cmm < mm) || (cyyyy == yyyy && cmm == mm && cdd < dd))
    {
        document.getElementById("DateWarning").innerHTML = "WrongDate";
        /* Form Should not be submitted */
    }
    else
    {
        document.getElementById("DateWarning").innerHTML = "";
    }
});

我想阻止表单提交。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

混合jQuery和DOM

等几个问题

您希望通过挂钩提交事件来阻止提交:

{{1}}

如果您想测试更改日期字段的日期,您需要一个可以重复使用的功能:

{{1}}

答案 1 :(得分:0)

onsubmit活动应阻止表单提交:

$('#my-form').submit(function(e) {
   if(preventCondition)
      e.preventDefault();
});

因此,您需要检查表单是否有效。您可以在该字段的onchange处执行检查,以提供客户反馈,但您应该在表单提交时重新验证,或者将验证设置为您稍后检查的标记。