名字real难
2016-09-08 18:36
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var a= document.getElementById(“txt1”).value;
var b= document.getElementById(“txt2”).value ;
var c= document.getElementById(“select”).value;
var sum;
switch(c){
case "+":sum=a+b;break;
case "-":sum=a-b;break;
case "*":sum=a*b;break;
case "/":sum=a/b;break;
}
//获取第一个输入框的值
//获取第二个输入框的值
//获取选择框的值
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
document.getElementById(fruit).value=sum;
}
</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>
简单的说不加这个,这个代码的加法会是这样的:1+1=11,2+2=22
在js中“+”是字符串拼接的功能,而js有带有变量自动转换,会把数字自动转换成字符串
他的代码之所以运行不了是没有单引号和双引号是中文的双引号引起的
不加parseFloat();也是可以运行的,就是加法运算答案是错的
1麻烦把中文双引号改成英文的单引号或者英文的双引号
2直接用加号会变成字符串拼接麻烦改成
case "+":sum=parseFloat(a)+parseFloat(b);break;
火眼金睛啊当真是,但是我加了引号还是不行呢,还有啥别的毛病吗
document.getElementById(fruit).value=sum;
你这一行的fruit没加引号
JavaScript进阶篇
468191 学习 · 21891 问题
相似问题