使用整型javascript进行表单计算
我希望用户插入一个数字,例如10,然后计算var newbalance+balance+2,但此代码的输出将是102,而不是12。我认为我的脚本认为var平衡不是一个整数,而是一个单词或其他东西。我怎样才能解决这个问题使用整型javascript进行表单计算,javascript,Javascript,我希望用户插入一个数字,例如10,然后计算var newbalance+balance+2,但此代码的输出将是102,而不是12。我认为我的脚本认为var平衡不是一个整数,而是一个单词或其他东西。我怎样才能解决这个问题 <form id="form" oninput="checkChange()" onchange="checkChange()"> <div class="container100 t-center" st
<form id="form" oninput="checkChange()" onchange="checkChange()">
<div class="container100 t-center" style="font-size:0;">
<div class="container20 t-center">
</div>
<div class="container60 t-center">
<div class="container60 t-center" style="font-size:0;">
<div class="container60 t-center">
Balance
<input name="balance" type="text" style="width:90%;" placeholder='balance'>
<input type="text" id="mytext">
</div>
</div><br><br>
</div>
<div class="container20 t-center">
</div>
</div>
</form><br>
<button id="submit" class="button" onclick="command()">Submit</button><br><br>
<script>
document.getElementById('submit').onclick = command;
var submitButton = document.getElementById('submit');
submitButton.onclick = command;
function command() {
event.preventDefault();
submitButton.style.background = 'rgba(92,184,92,1)';
}
function checkChange(){
submitButton.style.background = 'rgba(90,90,90,1.0)';
}
function command(){
var x = document.getElementById("form");
var balance = x.elements["balance"].value;
var newbalance = balance + 2;
document.getElementById("mytext").value = newbalance;
}
</script>
均衡
提交
document.getElementById('submit').onclick=command;
var submitButton=document.getElementById('submit');
submitButton.onclick=命令;
函数命令(){
event.preventDefault();
submitButton.style.background='rgba(92184,92,1)';
}
函数checkChange(){
submitButton.style.background='rgba(90,90,90,1.0)';
}
函数命令(){
var x=document.getElementById(“表单”);
var余额=x.元素[“余额”]值;
var newbalance=余额+2;
document.getElementById(“mytext”).value=newbalance;
}
用户输入(几乎)总是一个字符串。这将返回一个字符串:
x.elements["balance"].value
在这种情况下,您可以将其解析为整数:
var balance = parseInt(x.elements["balance"].value);
在JavaScript中,有几种方法可以将字符串转换为数字,如parseInt、parseFloat或+-您使用的方法取决于您的用例,但parseInt可能是最简单的方法。您可以使用parseInt从字符串生成整数:
const a='2';
常数b='3';
const result=parseInt(a)+parseInt(b);//5
如果您100%确定余额
只会收到有效的数值,您可以尝试以下方法:
var newbalance = +balance + 2;
+
会将余额转换为数值,如果是字符串,则数值保持不变。.value
返回字符串使用您认为正确的…将其转换为数字