问题:input绑定My97控件时,onchange方法无效,无法实现时间改变后触发事件。
解决:
经过反复试验,得到如下结果:
input中加入
onFocus="WdatePicker({onpicked:function(){this.onchange();},dateFmt:'yyyyMM'})"
οnchange="change()"
function change(){
//强制性移开焦点,到bs按钮,否则会出现input再次点击无反应的现象
bt.focus();
//要使用My97自带的符号,见My97网站
//$dp.$=document.getElementById
//$dp.cal.getP 返回所指定属性被格式字符串格式化后的值
//属性 y,M,d,H,m,s 分别代表 年月日时分秒
m=parseInt($dp.cal.getP('M'),10);//返回改变后的时间
y=parseInt($dp.cal.getP('y'),10);
var date=new Date(y,m,0);
alert(date.getDate());
//DWR
}
出现过的错误,没找到原因:
onFocus="WdatePicker({onpicked:change,dateFmt:'yyyyMM'})"
change中如调用DWR方法,就会重复一直执行,直到stack overflow.
不知道为什么?
注意:
写的js如果使用My97自带的符号,有的时候会出现严重的缓存现象,每次都要清理IE缓存后,再部署(我用的TOMCAT,不知道WebLogic会不会这样?)