为什么输出结果是NaN?

来源:6-11 编程练习

木東97

2018-06-26 19:18

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

       

    var a;

    var num1=document.getElementById("txt1").value;

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

    var num2=document.getElementById("txt2").value;

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

var myDropdownbox=document.getElementById("select").value;

//获取选择框的值

var result="";

switch(myDropdownbox)

{

case "+":

    result=parseFloat("num1")+parseFloat("num2");

    break;

    

     case "-":

    result=parseFloat("num1")-parseFloat("num2");

    break;

    

case "*":

    result=parseFloat("num1")*parseFloat("num2");

    break;

    

default:

    result=parseFloat("num1")/parseFloat("num2");

    break;

}

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

   

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

    //设置结果输入框的值 

    

   }

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


写回答 关注

4回答

  • 慕前端6373003
    2018-07-04 14:21:04

    你的函数调用用错了地方,应该是点击“=”号来触发计算的事件的:

      <input type='button' value=' = ' / onclick="count()"> <!--通过 = 按钮来调用创建的函数,得到结果-->

    你的代码如下:

       <input type='button' value=' = ' /> <!--通过 = 按钮来调用创建的函数,得到结果--> 

       <input type='text' id='fruit' onfocus="count()"/>  

    这个意思是通过聚焦结果按钮来触发onfocus函数。


  • 蒜苗丶
    2018-07-03 09:33:45

    parseFloat(num1)  括号里的是变量,不是字符串,你加了引号,parseFloat("num1") 去掉引号改成 parseFloat(num1) 就OK了

  • 心死则忙
    2018-07-02 22:18:39

    https://img1.mukewang.com/5b3a342a0001593b02100121.jpgonclick="count()"

  • 慕函数4961047
    2018-06-27 13:22:33

    你为啥用了parseFloat,应该用parseInt.

    <script type="text/javascript">

       function count(){

           

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

        var txt1=parseInt(document.getElementById("txt1").value);

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

    var txt2=parseInt(document.getElementById("txt2").value);

    //获取选择框的值

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

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

    switch(select)

    {

       case "+":

       var sum=txt1+txt2;

       break;

        case "-":

       var sum=txt1-txt2;

       break;

        case "*":

       var sum=txt1*txt2;

       break;

       case "/":

       var sum=txt1/txt2;

       break;

       default:

       document.write("没有");

       break;

    }

        //设置结果输入框的值 

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

       }

      </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=' = ' /> <!--通过 = 按钮来调用创建的函数,得到结果--> 

       <input type='text' id='fruit' onfocus="count()"/>   

     </body>


    木東97

    我用了parseInt结果也还是NaN

    2018-06-27 14:10:37

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题