噜啦咧
2016-03-24 15:43
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count()
{
var num1=parseInt(document.getElementById('txt1').value);//获取第一个输入框的值
var num2=parseInt(document.getElementById('txt2').value);//获取第二个输入框的值
var counting=document.getElementById('select').value;//获取选择框的值
var fruited=parseInt(document.getElementById('fruit').value);
switch(counting)//获取通过下拉框来选择的值来改变加减乘除的运算法则
{
case "+":
fruited=num1+num2;
case "-";
fruited=mum1-num2;
case "*";
fruited=mum1*num2;
case "/";
fruited=mum1/num2;
}
//设置结果输入框的值
}
</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' onfocus="count()" />
</body>
</html>
问题一 :
switch(counting){
case "+":
fruited=num1+num2;
case "-";
fruited=mum1-num2;
case "*";
fruited=mum1*num2;
case "/";
fruited=mum1/num2;
}
上面一段代码中你存在3个错误:
(1)case后面为“:”,你后面三个写的都是“;”。
(2)case后面都需要加break;不然代码会按照顺序全部执行一遍。这样switch就没有意义了。
(3)num1你后面三个都写成了mum1;注意n和m。
以上三个错误都算是粗心。下次认真点就好了~
问题二:为什么结果框里数字没有变化?
var fruited=parseInt(document.getElementById('fruit').value);
你要改变fruit的属性值value,需要获得的是fruit这个对象,然后再对他的value进行附值。大致如下:
var fruited=document.getElementById('fruit');
switch(counting){
case "+":
fruited.value=num1+num2;
break;
.........
}
回复 噜啦咧:
我们分析一下整个运算过程:
(1)获取txt1和txt2输入框的值。进行运算。
(2)给fruit输入框附值。
看的出来,对txt1和fruit两个输入框的操作是不一样的。一个获取值,一个附值。
(1)获取值代码 var x=object.value,也就是num1这样。
var num1=parseInt(document.getElementById('txt1').value);
(2)附值代码 object.value=y,所以要先获得fruit这个对象,然后再对它的value附值。也就是fruited这样。
var fruited=document.getElementById('fruit'); fruited.value=result;
注意:var z=object.value;
z=y;
这样只是z被再次附值,跟object.value并没有关系。这里跟数学里的连等是不一样的。所以object.value ≠y;
这样说清楚吗???
object.value:获取对象的值
你现在的步骤:
1、需要先获取到对象,var fruited = document.getElementById('fruit');
2、计算完以后再对对象的value属性进行赋值。fruited .value = XX;
document.getElementById('fruit').value:只是获取到对象的值,空的话获取到的是undefind。
或者你可以再最后面写:
document.getElementById('fruit').value = XX;
其他错误楼上已指正!
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题