哈哈,今天愚人节..bug就来了..
之前做了嵌入手机端的网页,就在网页端模拟调试,做了选择时间段的查询功能,就需判断格式和结束时间大于等于初始时间,在电脑和安卓手机都能正常判断,结果同事拿来苹果手机让我蒙蔽了一圈,出现手机自带的选择下拉框的情况,点击确定后却出现我自定义的错误,出现原因可能就有两个,一是没有获取到值致使返回格式不正确,二是结束时间大于初始时间方法写错.
而在电脑端这几个值都能明确的得到,这让我很蒙蔽啊,手机端我又没发调试...开始就关注这自带的下拉框选择没有拿到值,就如下绑定事件
$(document).on('change',"select[name='s_year']",function(){ $(this).prop('value',$(this).val()); });
得到的还是呵呵呵...
最后强制写alert事件,在手机端看看这几个值到底拿到没,让我惊喜而意外的是看到了开始时间和结束时间"NaN";之前我是
var s_time = sy+'-'+sm+'-'+sd; var e_time = ey+'-'+em+'-'+ed; var start = new Date(s_time.replace('-', '/')); var end = new Date(e_time.replace('-, '/'));
在苹果手机出现的结果是"NaN"在IE上也出现类似情况
解决方案:
var start = new Date(s_time.replace(/-/g, '/')); var end = new Date(e_time.replace(/-/g, '/')); //正则格式,全局替换
搞定..
感谢百度tv,感谢提供方案网友tv,感谢xxtv...