将JQuery验证器分配给全局范围?

时间:2015-05-13 13:28:49

标签: javascript jquery jquery-validate

JS将JQquery验证程序发送到全局范围以显示自定义错误消息

 vldtr = {};
 $(function(){
 editTweetvldtr = $("#frm-update-tweet").validate({
            rules: {
                    ....
            },

            messages: {
                  ....
            }
        });

console.log(vldtr); //return obj
});

console.log(vldtr); //return {}

2 个答案:

答案 0 :(得分:1)

答案是:分配给窗口obj

感谢@Schlaus和@Tushar的帮助

submitButton_Click

答案 1 :(得分:0)

问题是您未使用var初始化变量:

 var vldtr = {};
 $(function(){
 editTweetvldtr = $("#frm-update-tweet").validate({
            rules: {
                    ....
            },

            messages: {
                  ....
            }
        });

console.log(vldtr); //return obj
});

console.log(vldtr); //return {}

首先使用var声明变量的范围是可以访问它的最外层作用域。在所有函数之外执行var vldtr = {},事件document.ready,将使其可以全局访问。

全局变量很糟糕且非常容易出错,但这就是你如何做到的。

进一步证明:

var a = true;
var b = true;
$(function() {
    var a = false; // this a is no longer the same we declared before
    b = false;     // this is still the same b
});
console.log(a); // true
console.log(b); // false