如何在Safari中跳过HTML5表单验证?

时间:2014-02-17 22:23:35

标签: html html5 safari mobile-safari

我想跳过Safari中url输入/表单的验证。特别是在Mobile Safari中。

从我可以找到的关于novalidate attribute的内容来看,它在Safari中不受支持。

知道了,如何跳过此网址输入和/或整个表单的验证? (我可以将其切换为文本输入,但我想要iOS给你的网址键盘)

1 个答案:

答案 0 :(得分:0)

您可以使用下面的一个javascript轻松地停用网址:

<script type="text/javascript">

        function changeInputType()
        {
            if (isBrowserSafari())
            {
                var urlTextBox = document.getElementById("urlInput");
                urlTextBox.type = "text";
            }

        }

        function isBrowserSafari() {
            var ua = navigator.userAgent.toLowerCase();
            if (ua.indexOf('safari') != -1)
            {   
                return ua.indexOf('chrome') <= -1;
            }
            return false;
        }
    </script>

随意将功能连接到对您的程序有意义的任何点。例如,onload。

<body onload="changeInputType()">
    <form action="#">
        Url: <input type="url" id="urlInput" />
        <input type="submit" value="Submit" />
    </form>

    <script type="text/javascript">

        function changeInputType()
        {
            if (isBrowserSafari())
            {
                var urlTextBox = document.getElementById("urlInput");
                urlTextBox.type = "text";
            }

        }

        function isBrowserSafari() {
            var ua = navigator.userAgent.toLowerCase();
            if (ua.indexOf('safari') != -1)
            {   
                return ua.indexOf('chrome') <= -1;
            }
            return false;
        }
    </script>
</body>
</html>

希望得到这个帮助。