javascript - 禁用输入类型=数字的输入验证

标签 javascript jquery html forms validation

我在表单元素中有一个数字输入标签:

<form novalidate="">
      <input type="number" data-role="none" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="Quantity" class="quantityInput" />
</form>

当用户输入任何 non-numeric值,浏览器验证它并在提交调用之前删除整个文本。

根据其他答案的建议,我尝试使用 novalidate 和 novalidate="novalidate"表单上的属性。我也尝试点击invalid事件。但似乎没有任何效果。如果是 non-numeric,浏览器只会删除整个文本在进行提交调用之前。

使用输入的原因type="number"是我需要一个数量字段,用户可以在其中输入类似 10 grams 的内容或 23 pcs等等,所以通过设置输入 type="number" , iOS 首先显示键盘的数字版本。

如何禁用对数字输入类型的浏览器验证?

最佳答案

现代答案(截至 2020 年)是使用 inputmode :

    <input type="text" inputmode="email">
    <input type="text" inputmode="tel">

关于javascript - 禁用输入类型=数字的输入验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26271767/

相关文章:

html - Bootstrap Navbar 在窗口变小时扩展

javascript - 如何将列表项放入javascript数组中

javascript - 理解递归函数的解构参数

javascript - 美元符号的 jquery basic - 命名与匿名

ajax回调后jquery函数不起作用

javascript - 每次点击的总和

javascript - 仅在 IE10 中打开页面时自动弹出日期选择器

javascript - 如何将第一个元素与其余元素进行比较,以及如何将第二个元素与其余元素进行比较以及相同的重复

html - 弹出 Div 中的文本在移动设备上消失

html - CSS - 将文本阴影与文本轮廓结合起来?