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))问题是它作为字符串输入:在第一个文本框中,数字是 5,在第二个文本框中也是 5,然后当按下计算按钮时,它是将会呈现

答案是: 55 而不是 10...

所以你需要做的是:

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

看到这个小提琴你的答案。

  1. 您的答案范围被错误地命名为“答案”而不是“答案”
  2. 您的下拉菜单没有为选项分配值。
  3. 您需要在分配跨度文本之前解析整数值。
  4. 而不是使用document.getElementById('Answer').value = answer;你应该使用document.getElementById('Answer').innerHTML = answer;
于 2013-09-20T02:18:17.043 回答
0

我发现了两个错误。

  1. 大写Adocument.getElementById('Answer'). 什么时候应该document.getElementById('answer')。由于id的名字也是小a。
  2. 而不是.value = answer应该是.textContent = answer或innerText/innerHtml。

演示:http: //jsfiddle.net/techsin/uVpxr/

于 2013-09-20T02:25:11.140 回答
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 回答