1
var formRules  = $(this).data('rules');
var formValues = $(this).data('values');

    if(formRules || formValues){
        var rulesArray = formRules.split(',');
        var valuesArray = formValues.split(',');
        for(var i=0; i < rulesArray.length; i++){
            //alert(rulesArray[i]);
            $.validationEngine.defaults.rulesArray[i] = valuesArray[i];
        }
    }
    else{
        return false;
    }

这会引发如下错误

Error: TypeError: $.validationEngine.defaults.rulesArray is undefined
Source File: http://localhost:8380/javascript/jquery.validationEngine.js
Line: 2092

我找不到此代码的问题。欢迎提供任何帮助

编辑:

我正在尝试eg:scroll使用 for 循环设置全局选项。该formRules字符串将有这些选项逗号分隔和字符串中的相应值formValues

所以我期待它会像$.validationEngine.defaults.scroll = true;

4

1 回答 1

2

更改此行

 $.validationEngine.defaults.rulesArray[i] = valuesArray[i];

对此

 $.validationEngine.defaults[rulesArray[i]] = valuesArray[i];

rulesArray 不是 $.validationEngine.defaults 的子级。存储在 rulesArray 中的值是。我的第二个代码块中的语法正确引用了所有内容。

这称为括号表示法,一种使用任何类型的有效计算(如 rulesArray[i] 或“myStringPropertyName”)获取对象属性的方法。有关其他方法,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Member_Operators

于 2013-09-10T12:58:14.740 回答