使用整型javascript进行表单计算

使用整型javascript进行表单计算,javascript,Javascript,我希望用户插入一个数字,例如10,然后计算var newbalance+balance+2,但此代码的输出将是102,而不是12。我认为我的脚本认为var平衡不是一个整数,而是一个单词或其他东西。我怎样才能解决这个问题 <form id="form" oninput="checkChange()" onchange="checkChange()"> <div class="container100 t-center" st

我希望用户插入一个数字,例如10,然后计算var newbalance+balance+2,但此代码的输出将是102,而不是12。我认为我的脚本认为var平衡不是一个整数,而是一个单词或其他东西。我怎样才能解决这个问题

<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
返回字符串使用
您认为正确的…将其转换为数字