我对我的字段使用自定义验证
<div class="control-group">
<label class="control-label" for="region">Region*</label>
<div class="controls">
<input type="text" class="input-xlarge" id="region" name="region" minlength="1" maxlength="50" autocomplete="off">
</div>
</div>
var regionsList = ["value1", "value2", ..., "value 80"];
$.validator.addMethod("validRegion", function (value, element, param) {
return this.optional(element) || (param.indexOf(value) != -1); // ERROR IS HERE
}, "Please start to type and choose correct value");
$("#myform").validate({
rules: {
"region": {
required: true,
validRegion: regionsList
},
...
这一行可能有什么问题(请查找带有注释 ERROR IS HERE 的行)?
错误是对象不支持此属性或方法
。
最佳答案
Array.indexOf
仅 IE 9+ 支持。由于您已经在使用 jQuery,因此可以使用 $.inArray
(如果支持,它将使用 Array.indexOf)。
$.validator.addMethod("validRegion", function (value, element, param) {
return this.optional(element) || ($.inArray(value, param) != -1);
}, "Please start to type and choose correct value");
关于jquery - 为什么我在 Internet Explorer 7.0 和 8.0 中遇到错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12960255/