jquery 验证在 IE 上默默被忽略 - 使用 Rails ujs 驱动程序时 + jquery 验证 +阿贾克斯形式
我不清楚问题出在 ujs 驱动程序还是 jquery-validate 插件上...
当使用 jquery UJS 驱动程序(最新的,来自 github)+ jquery-validate 插件(最新的,来自 github)+ ajax 表单(通过data-remote 标签),验证规则将被默默忽略。仅在 IE 8 中,chrome 和 FF
使用 jquery 1.4.4 和 jquery 1.5.1 进行了良好测试,使用了 github 上最新的 jquery-validation。
这是一个简单的例子: http://avioing.com/validate/example.html 和 http://avioing.com/validate/example_no_ujs.html
尝试在离开 cityfield 时提交表单空的。第一种情况不会发生任何事情。您将看到在第二种情况下触发的验证消息。
这两个文件之间的唯一区别是我从后一个文件的表单中删除了“data-remote”标签,现在触发了验证。
not clear to me whether the problem is with the ujs driver or the jquery-validate plugin...
when using jquery UJS driver (most recent, from github) + jquery-validate plugin (most recent, from github) + ajax form (via the data-remote tag), the validation rules are silently ignored. only in IE 8, chrome and FF work fine
tested with jquery 1.4.4 and jquery 1.5.1, using most recent jquery-validation from github.
here is a simple example:
http://avioing.com/validate/example.html and
http://avioing.com/validate/example_no_ujs.html
try submitting the form while leaving the cityfield empty. nothing will happen in the first case. you will see a validation message triggered in the second case.
the only difference between the two files is that i removed "data-remote" tag from the form in the latter file, and now validation is triggered.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我将此作为问题发布在 jquery-ujs/github 上,在 jquery-ujs 团队的帮助下,我们发现了一个涉及 IE << 的问题。 9、jquery 和 jquery-ujs,以及 IE 与其他浏览器中处理提交事件冒泡的方式。
jquery-ujs 团队开发了一种解决方法(请参阅此处的讨论 https://github.com /rails/jquery-ujs/pull/123),但截至撰写本文时,修复尚未被拉入 jquery-ujs 树中。问题是该问题是否应该在 jquery 或 jquery-ujs 中解决。
同时,我相信您可以根据 github 上的拉取请求手动修补您的 Rails.js 以解决此问题。
I posted this as an issue on jquery-ujs/github, and with the help of the jquery-ujs team we identified an issue which involves IE < 9, jquery, and jquery-ujs, and the way submit event bubbling is handled in IE vs. other browsers.
the jquery-ujs team developed a work-around (see discussion here https://github.com/rails/jquery-ujs/pull/123), but as of this writing the fix has not yet been pulled into the jquery-ujs tree. the concern is whether the issue should be fixed in jquery or jquery-ujs.
in the meantime, i believe that you can manually patch your rails.js to work around this issue based on the pull request on github.
teohm 在 上发布了解决方案http://teohm.github.com/blog/2011/05/25/using-jquery-validation-in-rails-remote-form/
希望有帮助
Solution was posted by teohm on http://teohm.github.com/blog/2011/05/25/using-jquery-validation-in-rails-remote-form/
Hope it helps