Ruby on rails 3 使用rails ujs驱动程序+;jquery验证&x2B;ajax表单
我不清楚问题出在ujs驱动程序还是jquery验证插件上 当使用jquery UJS驱动程序(最近的,来自github)+jquery验证插件(最近的,来自github)+ajax表单(通过数据远程标记)时,验证规则会被默默忽略。只有在IE 8中,chrome和FF才能正常工作 使用jQuery1.4.4和jQuery1.5.1进行测试,使用来自github的最新jquery验证 下面是一个简单的例子: 和 尝试提交表单,同时保留cityfield为空。在第一种情况下不会发生任何事情。您将看到在第二种情况下触发的验证消息Ruby on rails 3 使用rails ujs驱动程序+;jquery验证&x2B;ajax表单,ruby-on-rails-3,jquery-validate,ujs,Ruby On Rails 3,Jquery Validate,Ujs,我不清楚问题出在ujs驱动程序还是jquery验证插件上 当使用jquery UJS驱动程序(最近的,来自github)+jquery验证插件(最近的,来自github)+ajax表单(通过数据远程标记)时,验证规则会被默默忽略。只有在IE 8中,chrome和FF才能正常工作 使用jQuery1.4.4和jQuery1.5.1进行测试,使用来自github的最新jquery验证 下面是一个简单的例子: 和 尝试提交表单,同时保留cityfield为空。在第一种情况下不会发生任何事情。您将看到
这两个文件之间的唯一区别是,我从后一个文件的表单中删除了“data remote”标记,现在触发了验证。我将此作为一个问题发布在jquery ujs/github上,在jquery ujs团队的帮助下,我们发现了一个涉及IE<9、jquery和jquery ujs的问题,以及IE和其他浏览器处理提交事件冒泡的方式 jQueryUJS团队开发了一个变通方法(见这里的讨论),但在撰写本文时,该修复还没有被拉入jQueryUJS树中。问题在于该问题是否应该在jquery或jquery ujs中修复
同时,我相信您可以根据github上的pull请求手动修补rails.js以解决此问题。我将此作为一个问题发布在jquery ujs/github上,在jquery ujs团队的帮助下,我们发现了一个涉及IE<9、jquery和jquery ujs的问题,以及IE和其他浏览器处理提交事件冒泡的方式 jQueryUJS团队开发了一个变通方法(见这里的讨论),但在撰写本文时,该修复还没有被拉入jQueryUJS树中。问题在于该问题是否应该在jquery或jquery ujs中修复
同时,我相信您可以根据github上的pull请求手动修补rails.js以解决此问题。解决方案由teohm发布于
希望有帮助解决方案由teohm发布在 希望能有帮助
$('#submit_form').validate({
submitHandler: function(form) {
// .. do something before submit ..
$.rails.handleRemote( $(form) ); // submit via xhr
//form.submit(); // don't use, it submits the form directly
}
});