首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Onkeydown javascript数学

Onkeydown javascript数学
EN

Stack Overflow用户
提问于 2017-07-19 17:05:36
回答 1查看 63关注 0票数 0

我试图创建一个脚本,用户在字段中输入一个数字,然后脚本返回如下所示的值:

如果数值低于20,则不会乘以2;

如果数值大于20,则乘以2;

在这两种情况下,它都会根据用户设置的值添加30%。例如:

如果用户设置了20,那么总共将显示46。

当用户来到页面时,该字段总是从20开始。

我试着这样做,但我做不到

代码语言:javascript
复制
<input type="text" class="form-control" name="amount" id="amount" value="20"

  onkeydown="document.getElementById(\'coins\').value =
    Math.floor(this.value * 2) + \' coins\' + (int)
    getPercentOfNumber($this.value, 30);"

  onkeypress="document.getElementById(\'coins\').value =
    Math.floor(this.value * 4) + \' coins\' + (int)
    getPercentOfNumber($this.value, 30);"

  onkeyup="if(this.value.indexOf(\'.\') + 3 < this.value.length)
    this.value = this.value.substring(0, this.value.indexOf(\'.\') + 3);
    document.getElementById(\'coins\').value =
    Math.floor(this.value * 4) + \' coins\' + (int)
    getPercentOfNumber($this.value, 30);"

  onblur="this.value=Math.max(1,this.value);
    document.getElementById(\'coins\').value = Math.floor(this.value * 4) +
    \' coins\'  + (int) getPercentOfNumber($this.value, 30);"

onmaxlength="3">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-19 17:22:49

我建议将该代码拆分为一个独立的javascript函数,该函数位于<head>中。

而且,您不需要使用所有的关键事件,对于您的情况,onkeyup应该足够了。

我在这里收集了一个非常快速的示例:https://jsfiddle.net/89xa1c5p/1/

编辑:使用parseInt()parseFloat()确保输入不被视为字符串,并且在下面的操作中没有发生字符串连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45196847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档