Onkeydown javascript 数学
Onkeydown javascript math
我正在尝试创建一个脚本,用户在其中输入一个数字,脚本 returns 值如下所示:
如果该值低于 20,则不会乘以二;
如果该值大于 20 则将乘以二;
在这两种情况下,它总是会根据用户设置的值增加 30%。例如:
如果用户设置为20,那么总共会显示46。
当用户访问该页面时,该字段将始终以 20 开头。
我试过这样做,但是做不到
<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">
我建议将该代码拆分为一个单独的 javascript 函数,该函数进入 <head>
此外,您不需要使用所有按键事件,onkeyup
应该足以满足您的情况。
我在这里整理了一个非常快速的示例:
https://jsfiddle.net/89xa1c5p/1/
编辑:
使用 parseInt()
或 parseFloat()
确保输入不被视为字符串,并且在下面的操作中不会发生字符串连接
我正在尝试创建一个脚本,用户在其中输入一个数字,脚本 returns 值如下所示:
如果该值低于 20,则不会乘以二;
如果该值大于 20 则将乘以二;
在这两种情况下,它总是会根据用户设置的值增加 30%。例如:
如果用户设置为20,那么总共会显示46。
当用户访问该页面时,该字段将始终以 20 开头。
我试过这样做,但是做不到
<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">
我建议将该代码拆分为一个单独的 javascript 函数,该函数进入 <head>
此外,您不需要使用所有按键事件,onkeyup
应该足以满足您的情况。
我在这里整理了一个非常快速的示例: https://jsfiddle.net/89xa1c5p/1/
编辑:
使用 parseInt()
或 parseFloat()
确保输入不被视为字符串,并且在下面的操作中不会发生字符串连接