我有一个Web应用程序,它经常使用HTML5 required
属性。但是Safari和ie 8/9不支持此属性。是否有一个jQuery插件会强制不兼容的浏览器上的行为?
答案 0 :(得分:7)
这没有任何插件(仅限JQuery):
<script>
// fix for IE < 11
if ($("<input />").prop("required") === undefined) {
$(document).on("submit", function(e) {
$(this)
.find("input, select, textarea")
.filter("[required]")
.filter(function() { return this.value == ''; })
.each(function() {
e.preventDefault();
$(this).css({ "border-color":"red" });
alert( $(this).prev('label').html() + " is required!");
});
});
}
</script>
答案 1 :(得分:4)
你可以简单地填充它......
if ($("<input />").prop("required") === undefined) {
$(document).on("submit", function(event) {
$(this)
.find("input, select, textarea")
.filter("[required]")
.filter(function() { return this.value; })
.each(function() {
// Handle them.
});
});
}
答案 2 :(得分:2)
您可以使用h5validate,它完全符合您的需要。
<script>
$(document).ready(function () {
$('form').h5Validate();
});
</script>
答案 3 :(得分:2)
我为此编写了一个非常简单的jQuery插件。它只是使用'required'属性为表单添加客户端验证。
https://github.com/garyv/jQuery-Validation-plugin
包含插件后,您可以在jQuery的文档就绪函数中调用validate(),或者在html正文的末尾调用。
<script>
$(document).ready(function(){
$('form').validate();
});
</script>
答案 4 :(得分:-1)
发现了一种非常通用且轻量级(一度缩小)的引擎,可以跨浏览器工作,包括ie8!