【问题标题】:How can I remove the "0" placeholder from <input type="number"> in Mobile Safari?如何从 Mobile Safari 中的 <input type="number"> 中删除“0”占位符?
【发布时间】:2011-10-04 19:14:34
【问题描述】:

我有一个输入字段供用户输入货币金额:

<input type="number" value="{{ order.amount }}" />

我选择了number 输入类型,因为我希望在单击该字段时出现数字键盘。我不能使用type="text" pattern="[0-9]*"(建议使用here),因为这会导致出现没有小数点的纯数字输入板。

不幸的是,如果value 属性不是数字(包括空字符串或空格),则该字段将使用默认值“0”呈现:

    

这很糟糕,因为用户需要在输入值之前点击

有没有办法解决这个问题?

更新:我是个白痴。一些 JavaScript 正在验证和重新格式化该字段。没关系。

【问题讨论】:

    标签: iphone html input mobile-safari


    【解决方案1】:

    我会查看您用于设置此字段的value 属性的代码 (value="{{ order.amount }}")。我这么说的原因是,在 Mobile Safari 中,“vanilla”数字字段是空的,即默认情况下没有 0

    您的屏幕截图向我表明您正在使用 jQuery Mobile,因此我使用它进行了检查,以防问题出在此处,但同样,没有默认值为零。

    对于它的价值,这是我正在使用的标记(它在 iOS 模拟器和 iPhone 3GS 上呈现一个空的数字字段):

    <input type="number" value="" />
    

    【讨论】:

    • 奇数。我在问之前试过这个,我在我的领域看到一个 0。 FWIW,我的 iPhone 模拟器版本是 4.1。
    猜你喜欢
    • 2014-06-24
    • 2020-12-18
    • 2012-10-17
    • 2015-08-09
    • 2023-01-31
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多