2016-09-29 1 views
0

2つの数値をテキストボックスから取得して計算し、innerhtmlを使用して表示しましたが、このコードで何が間違っているのでしょうか Javaスクリプトを使用して2つの数値を追加する際に間違いがあります

<body onload="alert('Hey check out my Calculator')"> 
 
<h1 align="center" > functional calulator </h1> 
 
<div class="Calculator" align="center"> 
 
    \t <input type="text" name="text1" id="a1">Enter 1st Number <br><br> 
 
    \t <input type="text" name="text2" id="a2">Enter 2nd Number<br><br> 
 
    \t <button onclick="add()" >Add</button> 
 
    \t <p id="p1"></p> 
 
    \t 
 
\t <script type="text/javascript"> \t 
 
\t \t function add(){ 
 
\t \t \t var a = document.getElementById("a1").value; 
 
\t \t \t var b = document.getElementByID("a2").value; 
 
\t \t \t var total = a + b; 
 
\t \t \t document.getElementById("p1").innerHTML = total; 
 
\t \t \t 
 
\t \t \t 
 

 
\t \t } 
 
\t \t </script>

+0

は精巧なのdocument.getElementByIdありません。何を手に入れていますか? – j08691

答えて

2

彼らはあなたが最初

var a = parseInt(document.getElementById("a1").value); 
var b = parseInt(document.getElementById("a2").value); 
var total = a + b; 
document.getElementById("p1").innerHTML = total; 
+0

parseIntの第2引数として10を追加することをお勧めします。古いブロワーは "010"を8進数として解析できます – Tobia

0

getElementByID整数にそれらを解析する必要があり連結されているので、あなたは、文字列としてそれらを追加している中getElementByIdする必要がありますvar b = document.getElementById("a2").value;

あなたのaとbが数字とみなすためにはparseInt()としてください。

<body onload="alert('Hey check out my Calculator')"> 
 
    <h1 align="center"> functional calulator </h1> 
 
    <div class="Calculator" align="center"> 
 
    <input type="text" name="text1" id="a1">Enter 1st Number 
 
    <br> 
 
    <br> 
 
    <input type="text" name="text2" id="a2">Enter 2nd Number 
 
    <br> 
 
    <br> 
 
    <button onclick="add()">Add</button> 
 
    <p id="p1"></p> 
 

 
    <script type="text/javascript"> 
 
     function add() { 
 
     var a = document.getElementById("a1").value; 
 
     var b = document.getElementById("a2").value; 
 
     var total = parseInt(a) + parseInt(b); 
 
     document.getElementById("p1").innerHTML = total; 
 
     } 
 
    </script>

1

、bが文字列です。おそらくintにそれらを解析したいですか?

0

これを試してみてください - あなたはスペルミスを犯してきた - そののdocument.getElementById手段ください "それが動作していない" ものに

<body onload="alert('Hey check out my Calculator')"> 
 
<h1 align="center" > functional calulator </h1> 
 
<div class="Calculator" align="center"> 
 
    \t <input type="text" name="text1" id="a1">Enter 1st Number <br><br> 
 
    \t <input type="text" name="text2" id="a2">Enter 2nd Number<br><br> 
 
    \t <button onclick="add()" >Add</button> 
 
    \t <p id="p1"></p> 
 
    \t 
 
\t <script type="text/javascript"> \t 
 
\t \t function add(){ 
 
      var a = document.getElementById("a1").value; 
 
\t \t \t var b = document.getElementById("a2").value; 
 
      
 
\t \t \t var total = parseInt(a) + parseInt(b); 
 
\t \t \t document.getElementById("p1").innerHTML = total; 
 
\t \t \t 
 
\t \t \t 
 

 
\t \t } 
 
\t \t </script>