来自初学者的Javascript计算器

时间:2014-06-07 12:47:31

标签: javascript onclick

我正在尝试学习Javascript,我正在练习创建一个计算器。我在youtube上进行了一个简短的教程,我遇到了一些问题。首先,当我使用“+”按钮时,所有值都会保留。而且,没有任何计算。有没有比我知道我的代码可能出错的知识更多的人?

<body>

<form name="frm">


<input name="result">
<br>
<input name="1" type="button" value="1" onClick="run1()">
<input name="2" type="button" value="2" onClick="run2()">
<input name="3" type="button" value="3" onClick="run3()">
<br>
<input name="4" type="button" value="4" onClick="run4()">
<input name="5" type="button" value="5" onClick="run5()">
<input name="6" type="button" value="6" onClick="run6()">
<br>
<input name="7" type="button" value="7" onClick="run7()">
<input name="8" type="button" value="8" onClick="run8()">
<input name="9" type="button" value="9" onClick="run9()">

<input type="button" name="plus" value="+" onClick="runplus()">

<input type="button" name="calc" value="=" onClick="evalu()">
</form>


<script type="text/javascript">

function run1 (){
document.frm.result.value += "1";
}

function run2 (){
document.frm.result.value += "2";
}

function run3 (){
document.frm.result.value += "3";
}

function run4 (){
document.frm.result.value += "4";
}

function run5 (){
document.frm.result.value += "5";
}

function run6 (){
document.frm.result.value += "6";
}

function run7 (){
document.frm.result.value += "7";
}

function run8 (){
document.frm.result.value += "8";
}

function run9 (){
document.frm.result.value += "9";
}

function runplus (){
document.frm.result.value = "+";
}

function evalu (){

var evalo = eval(document.frm.result.value)

document.frm.result.value = evalo;
}



</script>

</body>

这是jsfiddle

1 个答案:

答案 0 :(得分:0)

试试这个:

<form name="frm">


<input name="result">
<br>
<input name="1" type="button" value="1" onClick="run(1)">
<input name="2" type="button" value="2" onClick="run(2)">
<input name="3" type="button" value="3" onClick="run(3)">
<br>
<input name="4" type="button" value="4" onClick="run(4)">
<input name="5" type="button" value="5" onClick="run(5)">
<input name="6" type="button" value="6" onClick="run(6)">
<br>
<input name="7" type="button" value="7" onClick="run(7)">
<input name="8" type="button" value="8" onClick="run(8)">
<input name="9" type="button" value="9" onClick="run(9)">

<input type="button" name="plus" value="+" onClick="runplus()">

<input type="button" name="calc" value="=" onClick="evalu()">
</form>


<script type="text/javascript">

function run (x){
frm.result.value += x;
}


function runplus (){
frm.result.value += "+";
}

function evalu (){

var evalo = eval(frm.result.value)

frm.result.value = evalo;
}



</script>

http://jsbin.com/hotifede/1/

相关问题