如何在 Mobile Safari 中从 <input type="number"> 中删除“0”占位符?

a p*_*erd 2 html iphone input mobile-safari

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

\n
<input type="number" value="{{ order.amount }}" />\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

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

\n

\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0

\n

这很糟糕,因为用户需要\xe2\x8c\xab在输入值之前点击。

\n

有没有什么办法解决这一问题?

\n

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

\n

Ben*_*Ben 5

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

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

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

<input type="number" value="" />
Run Code Online (Sandbox Code Playgroud)