html5 required attribute on non supported browsers

时光怂恿深爱的人放手 提交于 2019-11-26 23:30:39

问题


I have a web application which makes use of the HTML5 required attribute frequently. However Safari and ie 8/9 do not support this attribute. Is there a jQuery plugin that will force the behaviour on non-compatible browsers?


回答1:


This works without any plugin (JQuery only):

<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>



回答2:


You could shim it simply...

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.
           });
    });
}



回答3:


I wrote a very simple jQuery plugin for this. It just adds client side validation to a forms using the 'required' attribute.

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

After including the plugin, you can call the validate() in jQuery's document ready function or at the end of the html body.

<script>
  $(document).ready(function(){
    $('form').validate();
  });
</script>



回答4:


You can use h5validate which does exactly what you need.

<script>
$(document).ready(function () {
  $('form').h5Validate();
});
</script>



回答5:


Found a very versatile and lightweight (once minified) engine that works cross-browser including ie8!

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



来源:https://stackoverflow.com/questions/17479573/html5-required-attribute-on-non-supported-browsers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!