使用jquery Validate的长格式会导致IE慢脚本警告

我一直在使用 jquery validate plugin http://bassistance.de/jquery-plugins/jquery-plugin-validation/.它已经成功运行了,虽然现在我有一个带有表的表单,有100行左右,每行有一个输入框

http://jsfiddle.net/X8tsR/

这导致IE中的“此页面上的脚本导致Internet Explorer慢慢运行”警告.

我想知道我的实现是否存在问题,或者期望这个验证脚本在这么多内容上运行是不合理的?

解决方法

页面是单线程的,因此具有长时间运行的脚本将导致页面锁定.像Internet Explorer这样的浏览器对整个浏览器使用单个线程,这意味着整个浏览器将无响应.作为一种解决方案,浏览器将停止看起来花费太长时间的代码,并询问用户是否希望脚本继续运行.

较旧版本的Internet Explorer没有特别快的javascript引擎,因此迭代100个输入并验证它们将花费很长时间,并且可能更长时间使用.each()等内容.即使代码在技术上运行,也需要很长时间.您可能能够做一些事情来优化您的代码,但我认为一个简单的解决方案是将事件监听器附加到每个输入,并在用户输入值时验证它们.这将具有用户的双重好处,无需滚动长格式并找到无效字段,并且它将允许浏览器一次仅验证一个框.

最后,您可能需要考虑将其分解为多步骤过程,这可能有助于可用性,并且还具有在用户走得太远之前保存状态以及发生不良事件的额外好处.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...