Jquery 日期规则在 Firefox 和 IE 中不起作用
Posted
技术标签:
【中文标题】Jquery 日期规则在 Firefox 和 IE 中不起作用【英文标题】:Jquery date rule not working in firefox and IE 【发布时间】:2016-03-25 20:28:34 【问题描述】:我已经使用 jquery 日期规则呈现了普通文本。日期规则在 chrome 中运行良好,但在 Firefox 和 IE 中不起作用。请看我的代码块。
<form id="myform">
<input id="datepick" type="text" name ="datepick"/>
<input type="submit" id="ValidateDate" />
</form>
$("#myform").validate(
rules:
datepick:
date:"MM/dd/yyyy"
,
messages:
datepick:
date:"Give MM/dd/yyyy format"
);
$('#datepick').keyup(function ()
$("#ValidateDate").submit();
);
</script>
当我输入 12/3err/3001 时,它会在所有浏览器中引发错误
当我输入 12/234/2333 时,它会抛出错误 chrome not in Firefox 和 IE。
另外我想分享一个信息。
http://jqueryvalidation.org/date-method/
在上面的链接中,jQuery 验证在 Mozilla 和 IE 浏览器中无法正常工作,即使对于普通的文本框也是如此。
请在上面的 jquery 链接示例中输入 22/233/2222 值,然后您可以找到以下输出变化
在铬:
在 Firefox 中:
请帮我解决这个问题.....
谢谢,
戈巴拉克里希南
【问题讨论】:
keyup
处理程序的目的是什么?这没有任何意义,因为默认情况下 validate 插件已经评估了每个 keyup 事件的所有规则。
【参考方案1】:
您链接到的文档是这样说的:
此方法不应使用,因为它依赖于新的 Date 构造函数,该构造函数在浏览器和语言环境中的行为非常不同。改用
dateISO
或使用一种特定于语言环境的方法(在localizations/ 和additional-methods.js 中)。
我的重点。
【讨论】:
但是我创建了一个简单的普通文本框示例,带有日期规则(上面提供的代码块)。它在 Firefox 和 IE 浏览器中无法正常工作..你有什么解决方案吗....请帮助我 @GopalaKrishnansubramanian 请阅读我发布的内容。你的语法是正确的。您使用的方法存在缺陷,并且在您遇到的浏览器中无法始终如一地工作。您需要使用dateISO
。【参考方案2】:
此问题是由于浏览器之间的日期解析行为差异造成的。你可以看到下面。
铬
新日期("92/12/2015") - 无效日期
火狐
新日期("92/12/2015") - 日期 Sun Jun 07 1998 00:00:00 GMT+0530(印度标准时间)
date
规则将仅根据输入的日期值检查格式,因此在 FF 中验证成功。
因此,正如@Somekidwithhtml 建议的那样,您可以使用dateIso
,它将根据 ISO 日期标准检查日期或根据您的需要实施我们的自定义验证。
http://jqueryvalidation.org/jQuery.validator.addMethod/
【讨论】:
以上是关于Jquery 日期规则在 Firefox 和 IE 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Jquery DataTable TableTool 在 IE 和 Firefox 中不起作用
从 ie/firefox/chrome 中的 jquery 调用跨域 .net 方法
jQuery背景按钮动画适用于Chrome和IE8,但不适用于Firefox或IE9 [重复]