钰holl
2014-12-25 11:26
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
//获取第一个输入框的值
var val1=document.getElementById("txt1").value;
//获取第二个输入框的值
var val2=document.getElementById("txt2").value;
//获取选择框的值
var add1= document.getElementById("select").value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
var jieguo="";
switch(add1)
{
case '+':
jieguo=val1+val2;
break;
case '-':
jieguo=val1-val2;
break;
case '*':
jieguo=val1*val2;
break;
case '/':
jieguo=val1/val2;
break;
};
//设置结果输入框的值
document.getElementById("fruit").value=jieguo;
}
</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>
jieguo=parseFloat(val1)+parseFloat(val2);
或者
jieguo=parseInt(val1)+parseInt(val2);
这种就算是转成float类型的了吧!
num1和num2的类型为string类型,"+"当两个变量为字符串时,会连接两个变量,,例如num1和num2为1,会输出1+1,所以转换成float
不知道错在哪里了?
alert(typeof(document.getElementById("txt1").value)); //查看为string类型
var num1 = parseFloat(document.getElementById("txt1").value);
var num2 =parseFloat(document. getElementById("txt2").value);
switch循环可result=eval(num1+operation+num2)代替
只有加法不行,其他都好说,帮帮我!
JavaScript进阶篇
469254 学习 · 22584 问题
相似问题