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

请问为什么输出值为NaN

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

    var m;

    var x = document.getElementById("txt1");  

    //获取第一个输入框的值

    var y = document.getElementById("txt2");

//获取第二个输入框的值

    var z = document.getElementById("select");

//获取选择框的值

    

    switch(z){

        case "+":

            var m = parseInt(x) + parseInt(y);

            break;

        case "-":

            var m = x-y;

            break;

        case "*":

            var m = x*y;

            break;

        default:

            var m = x/y;

    }

//获取通过下拉框来选择的值来改变加减乘除的运算法则

    document.getElementById("fruit").value = m;

    //设置结果输入框的值     

   }

  </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>


提问者:飯糰熊 2015-10-20 10:37

个回答

  • Mr_Don
    2015-10-20 10:43:59
    已采纳

    var z = document.getElementById("select");

    //获取选择框的值

    获取z的值不能这样取,你打印出来看看z是什么就知道了。

  • 闹小志
    2015-10-20 11:34:13

    根据你的代码,x、y、z都是对象,两个对象你怎么让他们相加啊!

      var x = document.getElementById("txt1").value;  
      var y = document.getElementById("txt2").value;
      var z = document.getElementById("select").value;

    取了值之后再加!