0

HTML コード (Calculator.html):

    <!DOCTYPE html>
<html>
    <head
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Calculator</title>
         <link type="text/css" rel="stylesheet" href="Calculator_CSS.css">
    </head>
    <body>



    <input type ="text" name="number1" style="width:50px;" id="Number1">
    <select id="DropdownMenu1">
  <option>+</option>
  <option>-</option>
  <option>×</option>
  <option>÷</option> 
    </select>
    <input type ="text" name="number2" style="width:50px;" id="Number2">

    <input type="button" value="Calculate" id="submitButton" />

    <p>The answer is: <span id="answer"></span></p>

    <script src="Calculator_JS.js>"></script>

    </body>
</html>

JavaScript コード (Calculator_JS.js) は次のとおりです。

var button = document.getElementById("submitButton");
button.onclick = function(){

if  (document.getElementById("DropdownMenu1").value == "+"){
    var num1 = document.getElementById('Number1').value;

    var num2 = document.getElementById('Number2').value;

    var answer = num1 + num2;

    document.getElementById('Answer').value = answer;

    }

}

なんらかの理由で、計算ボタンをクリックしても何もしません。どんな助けも素晴らしいでしょう!ありがとう!

4

4 に答える 4

1

このコードを試す

<html>

    <body>

        <script type="text/javascript">
            function Calc(){

                var num1a = document.getElementById("num1");
                var num2a = document.getElementById("num2");
                var ans = (num1a + num2a)
                document.write("<b>The Answer Is:</b>" + ans)

            }
        </script>


        <input type ="text" id="num1" style="width:50px;" id="Number1">

        <input type ="text" id="num2" style="width:50px;" id="Number2">

        <input type="button" value="Calculate" id="submitButton"         
onClick="Calc()">

    </body>

</html>

(2 つの数字を入力すると、答え (x + y) が入力されます) 問題は、文字列として入力することです。表示されます

答えは: 10 ではなく 55 です...

だからあなたがする必要があるのはこれです:

ParseInt(document.getElementById("num1").value);
ParseInt(document.getElementById("num2").value);

そしてそうではない

document.getElementById("num1");
document.getElementById("num2");

var num1a および num2a で。それは問題を解決します:)

于 2015-05-08T16:52:55.323 に答える
0

私は2つのエラーを見つけました。

  1. の大文字A。 _ document.getElementById('Answer')あるべきときdocument.getElementById('answer')。id の名前も小さい a にあるように。
  2. 代わりに、または innerText/innerHtmlに.value = answerする必要があります。.textContent = answer

デモ: http://jsfiddle.net/techsin/uVpxr/

于 2013-09-20T02:25:11.140 に答える
0

あなたの答えについては、このフィドルを参照してください。

  1. あなたの回答範囲は、「回答」ではなく「回答」という誤った名前が付けられました
  2. ドロップダウンには、オプションに割り当てられた値がありませんでした。
  3. スパン テキストを割り当てる前に、整数値を解析する必要がありました。
  4. 使用する代わりに使用document.getElementById('Answer').value = answer;する必要がありますdocument.getElementById('Answer').innerHTML = answer;
于 2013-09-20T02:18:17.043 に答える
0

非常にシンプルな電卓 (html5 css3 js)

js

function calc(e){
 var a=e.target.innerText,b=this.firstChild;
 b.value=a=='='?eval(b.value):a=='C'?'':b.value+a;
}
var gui=document.createElement('div');
gui.className='clc';
gui.innerHTML='<input><div>'+('789+456-123*C0./='.split('').join('</div><div>'))+'</div>';
gui.addEventListener('click',calc,false);

window.onload=function(){
 document.body.appendChild(gui);
}

css3

body,html{
 height:100%;
 margin:0;
 padding:0;
 background-color:#666;
}
*{
 box-sizing:border-box;
}
.clc{
 width:256px;
 height:320px;
 clear:both;
}
.clc>*{
 border:4px solid #666;
 border-radius:4px;
 font:normal normal bold 20px/56px Arial,Helvetica,sans-serif;
 border-radius:10px;
}
.clc>input{
 width:100%;
 height:20%;
 text-align:right;
 padding:0 20px;
}
.clc>div{
 width:25%;
 height:20%;
 background-color:#5a5a5a;
 color:#fff;
 text-align:center;
 float:left;
}
.clc>div:nth-child(4n+1){
 background-color:#f36573;
}
.clc>div:nth-last-child(1){
 width:100%;
 background-color:#ffb343;
}

http://jsfiddle.net/trjsJ/

于 2013-10-31T13:59:42.300 に答える