validator 和 datepicker同时使用时的小Bug
最近的一个项目中做一个验证,组长要求是用Jquery.validator来做,一开始不怎么会这个,后来看看他给一个Demo,就差不多了!
后面页面差不多做好的时候,发现了一个小问题:一个使用datepicker的文本框上,点击过后,里面的数据得不到立即的验证,开始怎么搞都不行,后来我在代码处加了alert,然后发现了他的运行流程:
rules:{ birthDate: { isLessThanTodayDate:true, //焦点得到,失去方法 focusGetLost:true },
当时没想到,这个规则也是在blur下执行的,不可能在选择了日期后再执行,测试了以后,失败,不过,这也提供了一个思路,就是要找在日期选择了以后,再执行的方法。。。
于是google 百度下好长时间,终于发现了:datepicker的onSelect,呵呵,这是在选择了以后,执行的方法,于是,我在加上了以下代码 :
$("input.date").datepicker({ dateFormat: 'yy-mm-dd', onSelect:function(date){ this.focus(); this.blur(); } });
于是,问题解决了,呵呵!当时好高兴,现在趁着记忆写下来。
datepicker还有一个方法onClose,在datepicker的UI消失后,执行的方法,估计也是可以,不过我没有测试…… 1 楼 waiting 2010-08-11 所以要多看官网的demo,里面有详细的调用、方法、事件。
楼主这个属于找个datapicker的回调函数来执行验证。 2 楼 yutian2211 2010-08-11 waiting 写道所以要多看官网的demo,里面有详细的调用、方法、事件。
楼主这个属于找个datapicker的回调函数来执行验证。
呵呵,谢谢提醒,我也刚接触这个插件,今天又发现了一个方法:$("#mainForm").validator().element("#元素ID")来call单个的验证,呵呵,不过没有这个方便