【发布时间】:2011-11-10 02:34:50
【问题描述】:
我有一个使用 jQuery 1.7 和 jQuery validation 1.9 的表单(在本文发布时都是最新的),它适用于 firefox / chrome / safari,但仅部分适用于 I.E。 (至少 8.0,还没有测试其他版本)——不知道交易是什么。 这里有一个例子: http://jsfiddle.net/bulbous/hZn5A/100/
如果您单击测试,您会看到文本输入控件在所有浏览器中都经过验证,但下拉列表在 i.e. 中未经过验证(但在所有其他浏览器中都经过验证)。 我还包括以下示例的完整 html:
<head>
<script src="jquery-1.7.js" type="text/javascript"></script>
<script src="jquery.validate-1.9.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
jQuery.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value != param;
}, "Please choose some value!");
$('#myForm').validate({
rules: {
text: {
required: true
},
category: {
required: true,
notEqual: "---"
}
},
messages: {
text: {
required: "Text required"
},
category: {
required: "Category required"
}
}
});
});
</script>
<form id="myForm">
<select id="category" name="category">
<option>---</option>
<option>Category 1</option>
<option>Category 2</option>
<option>Category 3</option>
</select>
<input type="text" id="text" name="text" />
<input type="submit" value="Test" />
</form
</body>
</html>
【问题讨论】:
-
在 IE9 中为我工作。 (点击“测试”会显示“请选择一些值!”)
-
啊,很高兴知道,感谢您的反馈——我必须让它在 I.E. 中工作。 8 也是,但很高兴听到未来更光明 :)
-
只是一个想法。验证插件 v1.9 仅适用于 jQuery 1.6。也许你应该试试 jQuery 1.6.4 看看。
标签: javascript jquery internet-explorer validation cross-browser