html - 为什么 type="number" 属性会破坏 Firefox 中的解析?
问题描述
我有一个应该只有一组字符的输入字段,我通过正则表达式解析输入值来做到这一点。只要我不添加属性 type="number",这在 Firefox 中有效。
脚本是错误的还是可能是 vue 或 firefox 中的错误?
代码在jsFiddle
new Vue({
el: "#app",
data: {
message: ""
},
methods: {
mask(input) {
const validCharsForNumberFields = /[0-9]*(,|\.)?[0-9]*/gm
this.message = input.target.value.match(validCharsForNumberFields)[0]
}
}
})
<script type="text/javascript" src="https://unpkg.com/vue"></script>
<div id="app">
<div>
<!-- Remove the type="number" attribute to make the parsing work in firefox -->
<input @input="mask" v-model="message" type="number" placeholder="Try numbers">
<p>Message is: {{ message }}</p>
</div>
</div>
编辑:顺便说一句,这篇文章中的代码片段的行为与 jsFiddle 上的代码不同。不知道为什么。我会试着弄清楚这一点。同时,jsFiddle 版本的行为方式与在本地运行此代码的方式相同。
解决方案
推荐阅读
- javascript - 尝试上传图像时无法读取未定义的属性“文件”
- python - 用 lmfit 推断 pandas 数据框
- android - 未知来源的空指针异常 (Ud.f)
- reactjs - 反应 | Ant Design - 使用远程数据搜索的 Select 组件中的默认值
- python - 生成带有条件的列表产品
- docusignapi - Docusign - HTTP/1.1://docusignapp2.herokuapp.com?op=webhook :: 错误 - 无效的 URI:URI 方案无效
- go - Golang GCP 存储客户端内存泄漏
- shell - 在 Unix 中杀死存储在文本文件中的进程 ID
- php - 根据另一个选择更改选择选项
- c# - 如何使用 C# 在 WindowsForm 中播放 HLS-(Http Live Streaming)?