6

我有一个required经常使用 HTML5 属性的 Web 应用程序。但是 Safari 和 ie 8/9 不支持这个属性。是否有一个 jQuery 插件可以强制不兼容的浏览器上的行为?

4

5 回答 5

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>
于 2014-10-30T09:52:10.913 回答
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.
           });
    });
}
于 2013-07-05T00:30:23.223 回答
2

我为此编写了一个非常简单的 jQuery 插件。它只是使用“必需”属性将客户端验证添加到表单中。

https://github.com/garyv/jQuery-Validation-plugin

包含插件后,您可以在 jQuery 的文档就绪函数中或在 html 正文的末尾调用 validate()。

<script>
  $(document).ready(function(){
    $('form').validate();
  });
</script>
于 2014-04-02T17:20:56.770 回答
2

您可以使用h5validate来满足您的需求。

<script>
$(document).ready(function () {
  $('form').h5Validate();
});
</script>
于 2013-07-05T00:26:25.157 回答
-1

找到了一个非常通用且轻量级(曾经缩小)的引擎,可以跨浏览器工作,包括 ie8!

http://posabsolute.github.io/jQuery-Validation-Engine/

于 2013-07-06T04:38:56.120 回答