jQuery MiniUI

 找回密码
 立即注册
查看: 2425|回复: 1
打印 上一主题 下一主题

日期数据输入自动转换BUG [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2018-2-6 10:10:42 |只看该作者 |倒序浏览
本帖最后由 rinco_mini 于 2018-2-6 10:18 编辑

BUG:在文本输入框,输入"2001-01-01 00:00:00",不包含双引号,保存,输入内容会变成"Mon Jan 01 2001 00:00:00 GMT+0800 (中国标准时间)"
测试版本:3.6,3.8.1(官网示例)
测试场景:
1、官网示例快速入门-CRUD-行编辑,在帐号地方输入"2001-01-01 00:00:00",然后Update
2、官网示例快速入门-CRUD-单元格编辑,在帐号地方输入"2001-01-01 00:00:00",然后保存
3、官网示例快速入门-典型界面-表格维护(弹出),编辑,在帐号地方输入"2001-01-01 00:00:00",然后保存

补充,输入框内容并不是日期类型,也不打算在数据库中作为日期类型保存,这个时候不期望转换成标准日期格式。

Rank: 8Rank: 8

沙发
发表于 2018-2-6 17:12:07 |只看该作者
yyyy-MM-dd hh:mm:ss 和yyyy-MMddTHH:mm:ss两种格式的字符串加载的时候我们会自动解析成date。
请尽量避免。
如果实在是这样的格式,那么请重写mini.decode方法来禁掉。
  1. mini.decode = function (json) {
  2.         //var re = /^(\d{4})-(\d{2})-(\d{2})[T](\d{2}):(\d{2}):(\d{2}(?:\.*\d*)?)Z*$/;
  3.          var re = /[\"\'](\d{4})-(\d{1,2})-(\d{1,2})[T](\d{1,2}):(\d{1,2}):(\d{1,2})(\.*\d*)[\"\']/g;
  4.         json = json.replace(re, "new Date($1,$2-1,$3,$4,$5,$6)");
  5.         return eval('(' + json + ')');
  6.     }
复制代码

Archiver|普加软件

GMT+8, 2024-5-3 16:22 , Processed in 1.025552 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部