Hello Stackoverflow人员,
我的问题是如何使用HTML输入标记的值更改我使用JavaScript分配的变量
我的进步:
<script type="text/javascript">
var x = 0;
document.write(x);
function addtox() {
var addx = document.getElementById("plusx").value;
x = x + addx;
}
</script>
<input id="plusx" type="number">
<input type="button" onclick="addtox()" value="add">
结果是它实际上增加了id =&#34; plusx&#34;的值。到了那已经存在的0。因此,如果输入为50,则返回050,而不是50.如果我重复按钮,则返回05050而不是100。
我该如何解决这个问题?
另外:如何更新已写入屏幕的文本? x已在更改前写入屏幕,并在分配新值后未更新。
P.S
对不起,如果我有点模糊,不太熟悉像我这样的编码问题。
答案 0 :(得分:2)
input元素的值是字符串类型。您需要将其转换为整数:
x += parseInt(document.getElementById("plusx"), 10);
答案 1 :(得分:1)
dom查找的返回值是字符串。所以你得到的结果是字符串连接。使用parseInt()函数将dom查找的返回值转换为整数。那你应该得到正确的答案。
答案 2 :(得分:0)
你可以放
X = "0" + addx;
这样你就会有0 - 如果您只想在前面放置0,这将有效。
所以加入x = 0 * 1
并且x = x + addx * 1
这只会在你前面没有0的情况下给你结果。
如果您想要前面的0和数字
X =&#34; 0&#34; + addx * 1;