为了账号安全,请及时绑定邮箱和手机立即绑定

按= 出来undefind,结果不对

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
    //获取第一个输入框的值
    var a=parseInt(document.getElementById("txt1").value);  
    //获取第二个输入框的值
    var b=parseInt(document.getElementById("txt2").value);
    //获取选择框的值
    var c=parseInt(document.getElementById("select").value);
    //获取通过下拉框来选择的值来改变加减乘除的运算法则
    var d;
    switch(c){
       case '+':
            d=a+b;
            break;
       case "-":
           d=a-b;
           break;
       case "*":
           d=a*b;
           break;
       case "/":
           d=a/b;
           break;
    }
    //设置结果输入框的值
   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>

正在回答

2 回答

一楼找对了,就是解释不是很清楚,应该说传过来的运算符经过parseInt之后就变成了0,因为是纯字符串,是不会成数字的,你也不应该让它变成数字,把他转成数字干嘛?你后面case判断的是其是否为某种符号(+、-、*、/),接着来,c变成0之后,switch里面没有对应项,所以直接就跳出了,然后执行  document.getElementById("fruit").value= d;但是你d又没有定义其值,所以是undefined,

0 回复 有任何疑惑可以回复我~

 var c=parseInt(document.getElementById("select").value);

parseInt获取的是整数型的值吧

你那个selsect中传过来的是String类型的值吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468060    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

按= 出来undefind,结果不对

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信