小鱼儿muma3724484
2016-08-15 16:01
我知道+也表示连接的意思,但是我这块应该获取的是数字,为什么会出现 【3 + 4 = 34】这种情况。<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
//获取第一个输入框的值
var num1 = document.getElementById("txt1").value;
//获取第二个输入框的值
var num2 = document.getElementById("txt2").value;
//获取选择框的值
var sel = document.getElementById("select").value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
var result;
switch (sel)
{
case '+':result = num1 + num2;break;
case '-':result = num1 - num2;break;
case '*':result = num1 * num2;break;
case '/':result = num1 / num2;break;
default:document.write("不存在该符号");
}
//设置结果输入框的值
document.getElementById("fruit").value = result;
}
</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>
如果不喜欢parseInt函数 可以用txt1.value/1 这样隐式转换代码短一些
Javascript的数据类型可以互相转换,用parseInt()函数将输入的字符串转换为数值 ,即可得到正确的答案
通过文本框输入的数字其实也是字符串,你可以分别用alert(typeof num1/num2)测试下~~需要可以帮到你~~
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题