【问题标题】:How can I prevent Chrome from formatting a HTML5 format number如何防止 Chrome 格式化 HTML5 格式编号
【发布时间】:2011-09-03 14:05:02
【问题描述】:

我需要为移动网站创建一个表单,人们可以在其中输入带有小数点的数字,例如 5.3。

为了让访问者更容易输入数字,我想强制智能手机在屏幕键盘上显示用户最有可能输入的字符。

可以通过添加 HTML5 type="number" 输入类型在屏幕键盘上显示数字。

不幸的是,谷歌浏览器随后开始验证输入并且只允许输入整数。所以用户在屏幕键盘上有一个数字,但不能输入他需要输入的数字。

如何在屏幕键盘上显示数字,同时仍允许使用 Google Chrome 浏览网站的人输入带小数点的数字?

【问题讨论】:

    标签: html google-chrome mobile-website mobile-phones


    【解决方案1】:

    如下创建字段:

    <input type="number" step="0.1" />
    

    这将使 Chrome 能够正确验证并且不受干扰。默认情况下,如果您不提供步长值,则为 1,但可以是 any positive floating value

    在 Chrome 10,12 中使用 HTML5 和 XHTML 文档类型进行了测试(两者都有效)。示例 HTML:

    <!DOCTYPE html>
    <html>
        <head>
            <title>Test</title>
        </head>
        <body>
            <form>
                <input type="number" step="0.1" />
            </form>
        </body>
    <!-- doctypes
    html5: <!DOCTYPE html>
    html4: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    xtml: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    -->
    </html>
    

    【讨论】:

    • 因为您的个人情况而投反对票?这适用于我目前拥有的 chrome 版本,它符合 HTML5 规范,它是 reported by google 的一个功能...您可能需要使用 HTML5 文档类型 (&lt;!DOCTYPE html&gt;)(而不是 XHTML 或 HTML4)跨度>
    • 这对我来说似乎也有点苛刻,但据我所知,这就是你所做的。无论如何,感谢您更新您的答案,我现在已将其标记为有帮助,我也进行了进一步调查 - 似乎如果您有 step="0.1" 和 value="0.99" 值验证在您提交时启动,所以您需要值中小数点后的数字至少与步长一样多 - 就我而言,我根本不需要步长,我不需要验证,我确实想要数字键盘
    猜你喜欢
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 2017-09-28
    • 2023-03-15
    • 2020-08-03
    • 1970-01-01
    相关资源
    最近更新 更多