关于inputtype=“number“的兼容问题
对于input来说,type="number"可以限制其只能输⼊数字,但是部分浏览器不⽀持该属性,如⽕狐浏览器。
对此,可以利⽤input监听事件来控制其只能输⼊数字。
以下为vue项⽬中结合elementUI的实例
input标签placeholder属性<el-form-item label="期末评估"required>
<el-input v-model="evaluateForm.score"placeholder="输⼊评分"type="text"@input="validateNum(evaluateForm.score)"></el-input> </el-form-item>
methods:{
validateNum(val) {
val = place(/(^\s*)|(\s*$)/g, "")
if(!val) {
this.evaluateForm.score = "";
return
}
var reg = /[^\d.]/g
// 只能是数字和⼩数点,不能是其他输⼊
val = place(reg, "")
// 保证第⼀位只能是数字,不能是点
val = place(/^\./g, "");
// ⼩数只能出现1位
val = place(".", "$#$").replace(/\./g, "").replace("$#$", ".");
// ⼩数点后⾯保留2位
val = place(/^(\-)*(\d+)\.(\d).*$/, '$1$2.$3');
this.evaluateForm.score = val;
},
}
⽅法中相应的控制条件可以⾃⾏添加。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论