2012-04-13 115 views
0

我试图从我的datepicker获取值到一个新的脚本中,该脚本应该验证datepicker中第二个选择的值不在第一个选择的datepicker之前。使用jquery datepicker验证日期范围

但是,我的脚本不会执行。

这是我的看法:

​​

这是我的脚本

<script> 
    $(".date").datepicker(); 
    $('#submitfloat').submit(function() { 
    var fromDate = $('#PlannedDate').val(); 
    var EndDate = $('#CompletedDate').val(); 
    if (Date.parse(fromDate) > Date.parse(EndDate)) { 
    alert("Date error") 
    } 
    return false; 

}); 

然而,当我开始调试UT Firebug的,好像我行$('#submitfloat').submit(function() {不会执行。

任何人都知道我的问题是什么以及如何解决?在此先感谢

+0

我认为你应该做的.submit()在窗体上,而不是在提交按钮? – 2012-04-13 09:31:47

回答

2

以及我的第一个答案,我希望它可以帮助你。

首先我的观点:

<script src="Js/jquery.min.js" type="text/javascript"></script> 
    <script src="Js/jquery.validate.min.js" type="text/javascript"></script> 
    <script src="Js/jquery-ui-1.8.18.custom.min.js" type="text/javascript"></script> 
    <link href="Css/start/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" /> 

我使用的日期选择器和验证

<form id="custom" action=""> 
     <input type="text" id="fechaLlegada" name="fechaL" style="color: #4080BF; font: bold 12px verdana; padding: 0 2px 3px 2px;"/> 
     <input type="text" id="fechaSalida" name="fechaS" style="color: #4080BF; font: bold 12px verdana; padding: 0 2px 3px 2px;"/> 
     <br /> 
     <input type="submit"/> 
    </form> 

现在剧本

<script type="text/javascript"> 
jQuery.validator.addMethod("isValid", function (value, element) { 
    var startDate = $('#fechaLlegada').val(); 
    var finDate = $('#fechaSalida').val(); 
    return Date.parse(startDate) < Date.parse(finDate); 
}, "* End date must be after start date"); 

$(function() { 
    $('#fechaLlegada,#fechaSalida').datepicker() 

    $('#custom').validate({ 
     rules: { 
      'fechaL': { required: true, date: true }, 
      'fechaS': { required: true, date: true, isValid: true } 
     }, messages: { 
      'fechaL': { required: 'date required msj!', 
       date: 'invalid date format msj' 
      }, 
      'fechaS': { required: 'date required msj!', 
       date: 'invalid date format msj', 
       isValid: 'End date must be after start date' 
      } 
     } 
    }); 

}); 
</script> 

我添加了一个方法的JQuery验证对于验证日期,我在验证脚本中使用它作为规则

this is working for me, i hope it helps someone 
+0

适用于ie,但不适用于FF和歌剧(未检查任何其他内容)。你有什么想法,为什么它只适用于ie? – Codded 2012-09-06 13:57:51