阿咎
2017-03-04 10:38
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var st1=document.getElementById("txt1").value;
var st2=document.getElementById("txt2").value;
var chara=document.getElementById("select").value;
var st3;
switch (chara){
case "+":st3=st1+st2;break;
case "-":st3=st1-st2;break;
case "*":st3=st1*st2;break;
case "/":st3=st1/st2;break;
}
document.write(st3);
//document.getElementById"select".value=st3;
//获取第一个输入框的值
//获取第二个输入框的值
//获取选择框的值
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
}
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='txt2' />
<input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' />
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
//获取第一个输入框的值
var a = parseInt(document.getElementById("txt1").value);
//获取第二个输入框的值
var b = parseInt(document.getElementById("txt2").value);
//获取选择框的值
var c = document.getElementById("select").value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
var d = 0;
switch(c){
case "+":
d = a+b;
break;
case "-":
d = a-b;
break;
case "*":
d = a*b;
break;
case "/":
d = a/b;
break;
default:
break;
}
//设置结果输入框的值
document.getElementById("fruit").value = d;
}
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='txt2' />
<input type='button' value=' = ' onclick="count()">
<input type='text' id='fruit' />
</body>
</html>
获取value值进行加法运算的时候会默认字符串相连,所以会出现3+3=33这种情况。用parseInt()解析字符串返回一个整数
因为运行时不是数学运算,而是俩个字符串相加。
1.通过document.getElementById("txt1").value这个方法得到的值是文本框中的内容,其实是字符串类型的
2.所以在执行"+"运算时,实际上时执行的时str+str(字符串相加)即:"3"+"3"="33";
3.想要正确执行该程序,有两种办法
1)将var st1=document.getElementById("txt1").value;
var st2=document.getElementById("txt2").value;
改为var st1=parseInt(document.getElementById("txt1").value);
var st2=parseInt(document.getElementById("txt2").value);
2) 或者将case "+":st3=st1+st2;break;
改为case "+":st3=parseInt(st1)+parseInt(st2);break;
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题