WebDateChooser 检测开始时间,结束时间合法性

本文介绍了一种通过客户端JavaScript实现WebDateChooser组件的日期范围校验方法。该方案利用了组件的API及未公开的方法,确保用户选择的开始日期不会晚于结束日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原来转贴过一个,是采用的服务端注入脚本方式,我觉得不好,并且还是有bug

于是自己琢磨了一下这个控件的官方API,另外就是调整JS脚本时,也发现不少

此控件的JS方法,甚至有API上面没有写的,这是学习的最好途径,调试!

下面写出自己的最新解决方案(最近写了很多前后时间判断的,呵呵)

这里是两个WebDateChooser,开始时间名为wdcProcDate,结束时间名为

wdcProcDateEnd,下面之所以在服务器端写完全是没有办法,在界面上设置了

竟然没有作用~!应该是此控件的bug,只好在代码中指定了

Server:

if (!IsPostBack) { wdcProcDate.ClientSideEvents.CalendarValueChanging = "wdcProcDate_CalendarValueChanging"; wdcProcDateEnd.ClientSideEvents.CalendarValueChanging = "wdcProcDateEnd_CalendarValueChanging"; }

Client:

下面这段代码一定要放在页面”body“内,因为使用了<%=%>

function wdcProcDate_CalendarValueChanging(oCalendar, oDate, oEvent) { var enddate = igdrp_getComboById("<%= wdcProcDateEnd.ClientID %>"); if (enddate) { if (oDate > enddate.getValue()) { oEvent.cancel = true; alert('开始日期不能大于结束日期!'); } } } function wdcProcDateEnd_CalendarValueChanging(oCalendar, oDate, oEvent) { var startdate = igdrp_getComboById("<%= wdcProcDate.ClientID %>"); if (startdate) { if (oDate < startdate.getValue()) { oEvent.cancel = true; alert('开始日期不能大于结束日期!'); } } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值