问答详情
源自:6-11 编程练习

为什么这个不对

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

提问者:慕沐3106306 2017-10-15 10:59

个回答

  • 梦想永远长不大
    2017-10-15 17:18:59

    switch()函数所判断的变量s经过parseInt函数后已经是一个整数了(parseint解析字符串返回整数值),但在此后case所匹配的值却是字符“+-*/”,和变量类型不匹配。。所以出错了。。。。想改正的话s不用用parseint函数,直接获取ID值就行var s=document.getElementById("select").value;