Javascript 如何让这个脚本将输入字段中键入的数字相乘?
我试图将用户键入的数字拉入文本字段,并将其乘以已建立的数字。(还有其他一些按钮可以从总数中加上+1或减去-1,效果很好。我唯一的问题是,在这里,通过用户在字段中键入值并拖动来获取用户的输入) 这是我的密码:Javascript 如何让这个脚本将输入字段中键入的数字相乘?,javascript,html,jquery,Javascript,Html,Jquery,我试图将用户键入的数字拉入文本字段,并将其乘以已建立的数字。(还有其他一些按钮可以从总数中加上+1或减去-1,效果很好。我唯一的问题是,在这里,通过用户在字段中键入值并拖动来获取用户的输入) 这是我的密码: <!-- HTML Field that I am trying to pull a number out of --> <input type="text" id="multNumInput"> 希望这是足够清楚的理解。从现
<!-- HTML Field that I am trying to pull a number out of -->
<input type="text" id="multNumInput">
希望这是足够清楚的理解。从现在开始,每当我单击按钮时,它总是将数字更改回0。就这样。只有0。无论我将num var设置为什么,当单击mult按钮时,它总是恢复为0。答案是@Robin Zigmond在评论中提供的:
“无法将multNum从字符串转换为数字。”必须先转换为数字
multNum = parseInt(multNum);
number = number * multNum;
//...
首先,显而易见的是:将任何数字与具有0
值的number
变量相乘,将始终导致0-我想您知道这一点,但混淆或遗漏了该部分,可能是因为在加法过程之前将其混淆为0
的初始化。将其设置为1或其他非负数,您可能会在途中获得更好的结果。:)
此外,要使其在JS中正确相乘,必须在两个数字之间相乘。
您的值是插入到输入
字段中的字符串
类型。
正如@Si8所建议的,您需要通过执行以下操作将其解析为Number
:
multNum = parseInt(multNum);
此外,您似乎正在使用文本类型进行输入。
我建议您将其设置为number
类型,以便限制输入值:
<input type="number" id="multNumInput">
查看Mozilla以了解更多信息。您无法将
multNum
从字符串转换为数字-但更严重的是,0乘以任何值都仍然是0。是的,当然0*0是0啊哈!如上所述,无论乘以哪个数字,它始终等于0。我将尝试将其转换为一个数字,这似乎是一个简单的解决方案。谢谢。您还需要读取单击处理程序内部的输入值,而不是外部的输入值,因此它始终具有最新值。这是一个我无法理解的答案吗…:-/与乘法没有区别console.log(“2”*“2”)
Yes,但为了避免任何警告,最好先转换为正确的类型。仅仅因为你可以,并不意味着你应该:)
<input type="number" id="multNumInput">