my97日期控件限制问题

wusongping 2013-02-05 11:41:29
实现功能:

两个input日期控件,用的my97,我想限制的是 两个选择的日期间隔为1个月

并且最大的日期不能超过当天,请问 my97 如何设置,麻烦朋友给出例子,感谢

或者有其他 好用的日期控件能实现这个功能的给下载地址也可以! 在线等!
...全文
1677 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
checklovewei 2015-05-05
  • 打赏
  • 举报
回复
<div class="input-group input-large date-picker input-daterange"> <input type="text" class="form-control" id="txtStartDate" name="from" onfocus="WdatePicker({ minDate: '#F{$dp.$D(\'txtEndDate\',{d:-30});}', maxDate: '#F{$dp.$D(\'txtEndDate\',{d:0});}' })" placeholder="开始日期" /> <span class="input-group-addon">-</span> <input type="text" id="txtEndDate" class="form-control" name="to" onfocus="WdatePicker({ minDate: '#F{$dp.$D(\'txtStartDate\',{d:0});}', maxDate: '#F{$dp.$D(\'txtStartDate\',{d:30});}' })" placeholder="结束日期" /> </div>
wrzs 2013-05-28
  • 打赏
  • 举报
回复
我想问下,在IE10下用My97能根据第一个时间限制第二个时间的开始时间吗
dindinmail 2013-02-20
  • 打赏
  • 举报
回复
需求:时间一与时间二相差范围在30天之内,时间一不能大于时间二,时间二不能超过今天。 xzy21com 大神,貌似还是有问题,请亲测!
scscms太阳光 2013-02-20
  • 打赏
  • 举报
回复
引用 10 楼 wusongping 的回复:
楼上这位朋友的需求说的是对的,但是代码我测试结果好像不准确。 第一个起始时间 我选择 2012-10-31 按道理 截止日期 应该是 2012-11-30 但是 我可以选到 2013-02-07 也就是 最大值的今天 呵呵 结贴! 如果大家还有好方法的 可以贴上来 我追加给分!同时感谢大家的回帖!
那你就加分吧,你提到的小小BUG当时没注意到,代码还是一样,换一下条件优先就可以了,应该是先限制在30天内,再限制不能大于今天。 日期从:<input id="date1" class="Wdate" type="text" onFocus="var date2=$dp.$('date2');WdatePicker({maxDate:'#F{$dp.$D(\'date2\')||\'%y-%M-%d\'}'})"/>至<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({onpicked:function(){date2.focus();},minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{$dp.$D(\'date1\',{d:30})||\'%y-%M-%d\'}'})"/>
wusongping 2013-02-07
  • 打赏
  • 举报
回复
楼上这位朋友的需求说的是对的,但是代码我测试结果好像不准确。 第一个起始时间 我选择 2012-10-31 按道理 截止日期 应该是 2012-11-30 但是 我可以选到 2013-02-07 也就是 最大值的今天 呵呵 结贴! 如果大家还有好方法的 可以贴上来 我追加给分!同时感谢大家的回帖!
爱若如梦 2013-02-06
  • 打赏
  • 举报
回复
引用 4 楼 wusongping 的回复:
还是没有限制住。。。我再研究下吧,感谢你的回答!等明天看看还有没有其他答案 没有就结贴!
真是有愧,这回在页面实际上测试了一下,也许能打到你需要的的效果。 <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')||\'%y-%M-%d\'}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <font color="red">*</font>到<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: '{\'%y-%M-%d\'}'})" />
wusongping 2013-02-06
  • 打赏
  • 举报
回复
还是没有限制住。。。我再研究下吧,感谢你的回答!等明天看看还有没有其他答案 没有就结贴!
爱若如梦 2013-02-06
  • 打赏
  • 举报
回复
引用 2 楼 wusongping 的回复:
感谢,第一个的时间选择 应该是 最大值 是当前日吧, 还有个判断就是 如果第一个 时间 加上 1个月的时间差 如果 大于当前日 是不是 最大值应该就取 当前日,控件里面 好像 没有限制住 ! 朋友可否告知如何设置? 如果控件限制不了就算了,先感谢! 一会测试好就结贴!
有误,这样可以吗? <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <font color="red">*</font>到<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{$dp.$D(\'date1\',{d:30})||\'%y-%M-%d\'}'})" />
wusongping 2013-02-06
  • 打赏
  • 举报
回复
感谢,第一个的时间选择 应该是 最大值 是当前日吧, 还有个判断就是 如果第一个 时间 加上 1个月的时间差 如果 大于当前日 是不是 最大值应该就取 当前日,控件里面 好像 没有限制住 ! 朋友可否告知如何设置? 如果控件限制不了就算了,先感谢! 一会测试好就结贴!
scscms太阳光 2013-02-06
  • 打赏
  • 举报
回复
那条件应该讲:时间一与时间二相差范围在30天之内,时间一不能大于时间二,时间二不能超过今天。
日期从:<input id="date1" class="Wdate" type="text" onFocus="var date2=$dp.$('date2');WdatePicker({maxDate:'#F{$dp.$D(\'date2\')||\'%y-%M-%d\'}'})"/>至<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({onpicked:function(){date2.focus();},minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{\'%y-%M-%d\'||$dp.$D(\'date1\',{d:30})}'})"/>
爱若如梦 2013-02-06
  • 打赏
  • 举报
回复
引用 7 楼 wusongping 的回复:
其时 这个算是 最 接近的了 <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <font color="red">*</……
这样可以吗,这是终极武器了 function maxDateLimit() { var flag = "-"; var date1 = document.getElementById("date1").value; if(!date1) { var nowDate = new Date(); var year = nowDate.getFullYear(); var month = (nowDate.getMonth() + 1) > 9 ? (nowDate.getMonth() + 1) : "0" + (nowDate.getMonth() + 1); var day = nowDate.getDate() > 9 ? nowDate.getDate() : "0" + nowDate.getDate(); return year + flag + month + flag + day; } else { var date = new Date(date1); if(isNaN(date)) { alert("输入的日期格式错误"); } var date2 = new Date(date.valueOf()+ 30*3600*24*1000); //30代表不超过30天,可以换作变量 var nowDate = new Date(); return date2.valueOf()<nowDate.valueOf()?date2.toLocaleString():nowDate.toLocaleString(); } } </script> <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')||\'%y-%M-%d\'}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: maxDateLimit()})" />
wusongping 2013-02-06
  • 打赏
  • 举报
回复
其时 这个算是 最 接近的了 <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <font color="red">*</font>到<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{$dp.$D(\'date1\',{d:30})||\'%y-%M-%d\'}'})" /> 就是上面3楼的答案, 出现的问题 只是 当 两个 input 的间隔 1个月 超过了 当前日期 结束日期控件 没有把 maxdate 设置为当前值,而是还是把 范围 扩大到 起始日期 30天 以后的 日期 列在可选范围之内 !
wusongping 2013-02-06
  • 打赏
  • 举报
回复
还是非常感谢你的回帖,你的代码 对于 先选择 后面的 这个 input 日期的话 前面一个 input 的日期是 在符合要求范围内可供选择的, 但是 如果 先选择了 前面那个 input 即起始 日期, 后面这个 input 的 日期选择范围 却是 超出了 一个月 这个时间间隔的。 比如 起始日期 选择了 2008-01-01 后面这个 最大可以选到 2013-02-06 实际上 我需要限制在 2008-02-01 这1个月间隔内! 不知道我表述是否清楚!
爱若如梦 2013-02-05
  • 打赏
  • 举报
回复
引用 楼主 wusongping 的回复:
实现功能: 两个input日期控件,用的my97,我想限制的是 两个选择的日期间隔为1个月 并且最大的日期不能超过当天,请问 my97 如何设置,麻烦朋友给出例子,感谢 或者有其他 好用的日期控件能实现这个功能的给下载地址也可以! 在线等!
设第一个id为date1,第二个id为date2 最大为今天,大概这样写就可以了。 <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})||\'%y-%M-%d\'}'})" /> <font color="red">*</font>到<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{$dp.$D(\'date1\',{d:30})||\'%y-%M-%d\'}'})" />

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧