JS我的input框事件如果是onchange,该段代码可以运行,但是我要用oninput事件,想问问怎么改才不会报错?
实在是没分现在,但求大神指导,感激不尽。。。functioncc(s){if(/[^0-9\.]/.test(s))return"invalidvalue";s=s.re...
实在是没分现在,但求大神指导,感激不尽。。。
function cc(s){
if(/[^0-9\.]/.test(s)) return "invalid value";
s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return "¥" + s.replace(/^\./,"0.")
}
<input onchange="this.value=cc(this.value)" placeholder="请输入金额">
这是onchange
<input oninput="cc(this)" placeholder="请输入金额">> 展开
function cc(s){
if(/[^0-9\.]/.test(s)) return "invalid value";
s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return "¥" + s.replace(/^\./,"0.")
}
<input onchange="this.value=cc(this.value)" placeholder="请输入金额">
这是onchange
<input oninput="cc(this)" placeholder="请输入金额">> 展开
1个回答
展开全部
你想要什么时候触发事件?
没有oninput事件,不要自己乱编一个出来...
没有oninput事件,不要自己乱编一个出来...
更多追问追答
追问
oninput 事件在用户输入时触发。
该事件在 或
元素的值发生改变时触发。是实时触发的。
我也很想乱编一个。。
我想输入的时候input框自动变成格式化。比如我输入1,自动格式化为1.00,格式为保留两位小数,如果小数位为空,则自动补0,比如1.1 自动格式化为1.10
追答
直接用onkeydown或者onkeyup方法
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询