Jquery 日期选择器 Chrome
在使用 jQuery UI Datepicker 时,我们在 Google Chrome 中使用时遇到一个问题: 当我们输入大于 12 的日期时,它不接受它作为有效日期,这是因为 chrome 认为日期格式是 mm/dd/yyyy。我们尝试通过添加代码来尝试将日期设置强制为 dd/mm/yyyy 来解决
$('.date').datepicker({ dateFormat: "dd/mm/yy" });
此问题是否有任何方法可以解决此问题,以便我们的日期选择器将接受 dd/mm/yyyy 值? 我们仅在 google Chrome 中遇到此问题,日期修复适用于 Firefox、ie 和 Firefox。野生动物园。 我们正在使用 ASPX & MVC3 与这个项目。
如果有人可以解决我们的问题,那就太好了,
谢谢
When using jQuery UI Datepicker, we encouter a problem when used in Google Chrome:
when we enter a date with a day higher than 12, it does not accept it as a valid date, this is because chrome thinks the dateformat is mm/dd/yyyy. We tried to solve this by adding code to try to force the date settings into dd/mm/yyyy
$('.date').datepicker({ dateFormat: "dd/mm/yy" });
Is there any way to resolve this issue, so our datepicker will accept dd/mm/yyyy values?
We only have this issue in google Chrome, the datefix works for firefox, ie & safari.
We are using ASPX & MVC3 with this project.
If someone could solve our issue, that would be great
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我遇到了同样的问题,并且与所有基于 Webkit 的网络浏览器有关。如果您设置大写 M,文本框将显示带有字母的飞蛾。对我来说最好的解决方案是覆盖 jquery.validate.js 中的验证日期函数
创建 jquery.validate.date.js 并确保它在 jquery.validate.js 之后加载
将以下代码添加到 jquery.validate.date.js
I have had the same problem and is related with all Webkit based web browsers. If you set uppercase M the textbox show the moth with letters. The best solution for me was to override the validate date function from jquery.validate.js
Create jquery.validate.date.js and ensure it is loaded after jquery.validate.js
Add the following code to jquery.validate.date.js
user1011138 解决方案对我不起作用,因为
.toLocaleDateString(value)
无法解析value
字符串,这是我想出的解决方案 =>
在 jquery.validate.js 中找到此函数定义:“date: function (value, element)”并将代码替换为:
user1011138 solution dont work for me since
.toLocaleDateString(value)
doesn't parse thevalue
stringhere's the solution i came up with =>
in jquery.validate.js find this function definition: "date: function (value, element)" and replace the code with:
上述解决方案不起作用,因为 jquery 浏览器检查已被弃用,抛出
jquery.validate.min.js Uncaught TypeError:无法读取未定义的属性“webkit”。检查元素 DateOfBirth 时发生异常,请检查“日期”
在我的项目中,我将 momentjs 与 bootstrap datetimepicker,所以这个解决方案效果很好:
加载
jquery.validate() 后立即调用它
The above solutions didn't work because jquery browser check is deprecated throwing
jquery.validate.min.js Uncaught TypeError: Cannot read property 'webkit' of undefined. Exception occurred when checking element DateOfBirth, check the 'date'
In my project, I use momentjs with bootstrap datetimepicker, so this solution works great:
Call this right after loading
jquery.validate()
您必须使用“en-GB”日期验证覆盖默认的“en-US”日期验证。
解决方案:
在您的项目中添加一个“jquery.validate.date.js”文件,并将以下代码放入其中:
并确保它在“jquery.validate”之后加载.min.js':
You've got to override default 'en-US' date validation with 'en-GB' date validation.
Solution:
add a "jquery.validate.date.js" file in your project and put the following code in it:
and make sure it load after the 'jquery.validate.min.js':
创建一个新的 jquery.validate.date.js 文件。
将以下代码粘贴到文件中。
现在确保该文件在 jquery.validate.js 文件之后加载。
Create a new jquery.validate.date.js file.
Paste the following code inside the file.
Now ensure that this file is loaded after jquery.validate.js file.