我正在使用jQuery验证器来验证我的应用程序上的窗体。这是我用来加载并运行它的所有代码:jQuery验证()语法错误?加载?
check_in.js
$(window).bind("load", function() {
jQuery(function() {
$('#edit-reservation-form').validate({
highlight: function(element) {
$(element).fadeOut(100, function() {
$(element).addClass("required-input");
$(element).fadeIn();
});
},
unhighlight: function(element) {
$(element).removeClass("required-input");
}
});
// To set default messages for validator.
jQuery.extend(jQuery.validator.messages, {
required: "Custom text message."
});
});
在我application.html.slim
= javascript_include_tag "application", "data-turbolinks-track" => true
script[async src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"]
在我check_in_form.html.slim (不是真实的名字,只是代表)我想要的每个领域我有'data-rule-required': true
现在,这完美的开发和生产,本地和第e机器质量保证使用。但是,在客户端机器上工作不正常(他使用Chrome,但我不确定它是最新版本)。 我不知道确切的错误,但是对于他所说的(并在屏幕截图中显示的),当他将字段留空时,就像脚本失败,然后它不会重定向到它应该在的位置。就好像脚本有语法错误或者某些东西没有完全加载一样。
我能想出(但还没有尝试过)的唯一的事情是对的.js的第一行更改:
$(document).ready(function() {
而且在application.html.slim装载到
= javascript_include_tag "application", "data-turbolinks-track" => true, async: Rails.env.production?
script[src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/jquery.validate.min.js"]
关于可能是什么的任何想法?
它说$(...)。确认不是一个函数 –
有必要初始化jQuery的验证插件,让我补充一点 – neydroid
似乎是未正确加载插件,请尝试使用async false并再次检查'= javascript_include_tag“https://ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/jquery.validate.min.js”,async:true' – neydroid