<!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;
if(c=="+"){
d=a+b;
}else if(c=="-"){
d=a-b;
}else if(c=="*"){
d=a*b;
}else{
d=a/b;
}
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>
取得的值是字符串,所以按照字符串的运算是字符串相连。可以使用parseInt()将字符串转换成数值。
var a =parseInt(document.getElementById("txt1").value);
var b =parseInt(document.getElementById("txt2").value);
你在input中输入的内容属于字符串类型。你可以这样来测试,在你原来的JS代码中加入console.log(typeof a)就能得到你写入的内容属性是string。既然是string, 那么+号就把它们连接起来,而不是相加取和。
不行啊