aoh*_*989 5 html javascript validation mobile-safari ios
我有一个相当基本的,但令人沮丧的问题,基本上是我一直在试图迫使输入领域表现得更像文本输入类型(如果他们不正确不正确数量的条目,比如"0..7"截断为"0"并且让JS表单验证和后端验证完成它的工作.但是,虽然我想让用户在字段中输入他们想要的任何内容(输入类型="文本"),但我想要显示全键盘键盘.
原版的:
<input type="number" name="test" class="answers" id="mileage" value="0.0" maxlength=5 />
Run Code Online (Sandbox Code Playgroud)
尝试修复:
适用于iPad,但不适用于iPod,因为iPod显示紧凑的数字键盘没有小数点:
<input type="text" name="test" class="answers" id="mileage" value="0.0" maxlength=5 pattern="\d*"/>
Run Code Online (Sandbox Code Playgroud)
在iPod上不起作用,因为它显示全文键盘,但不默认为带有小数的全键盘的"数字侧":
<input type="text" name="test" class="answers" id="mileage" value="0.0" maxlength=5 pattern="\d+(\.\d*)?"/>
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?无论是防止移动Safari浏览器从修正输入号码类型(数字类型显示在iPod和iPad上正确的键盘,但已建成的修正上田当键盘隐藏),或迫使键盘是全面的iPod数侧键盘?
仅供参考:这听起来与我的问题非常相似,但我可能需要一个不同的解决方案.听起来他们希望默认情况下显示"完整"数字键盘,但是当输入其他字符时Safari没有自动编码.
我知道这已经很旧了,但我看到这个问题被问了很多。
为了防止验证数字输入类型(和其他类型),您可以在元素novalidate上使用该属性<form>:
<form novalidate>
<input type="number" name="test" class="answers" id="mileage" value="0.0" maxlength=5>
</form>
Run Code Online (Sandbox Code Playgroud)
您仍然会使用数字键盘,但不会强制用户仅输入数字。
| 归档时间: |
|
| 查看次数: |
1682 次 |
| 最近记录: |