我有一个输入字段供用户输入金额:
<input type="number" value="{{ order.amount }}" />
我选择了number
输入类型,因为我希望在单击该字段时显示数字键盘。我不能使用type="text" pattern="[0-9]*"
(建议here),因为这会导致出现只有数字的输入键盘,它没有小数点。
不幸的是,如果value
属性不是数字(包括空字符串或空格),则该字段将使用默认值“0”进行渲染:
这很糟糕,因为用户在输入值之前需要点击⌫。
有什么方法可以解决这个问题吗?
更新:我是个白痴。一些JavaScript正在验证并重新格式化该字段。没关系。
答案 0 :(得分:1)
我会查看您用于设置此字段value
属性的代码(value="{{ order.amount }}"
)。我之所以这么说是因为在Mobile Safari中,“vanilla”数字字段为空,即默认情况下没有0
。
你的截图告诉我你正在使用jQuery Mobile,所以我检查了问题,以防问题出现在那里,但同样,没有默认值为零。
对于它的价值,这是我正在使用的标记(它在iOS模拟器和iPhone 3GS上呈现空数字段):
<input type="number" value="" />