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

各位亲们,帮忙看看吧,结果总是NAN


<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

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

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

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

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

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

//获取选择框的值

    var result=" ";

    switch(oTx3)

    {

        case "+":

            result=parseFloat("oTx1")+parseFloat("oTx2");

            break;

        case "-":

            result=parseFloat("oTx1")-parseFloat("oTx2");

            break;

        case "*":

            result=parseFloat("oTx1")*parseFloat("oTx2");

            break;

        default:

            result=parseFloat("oTx1")/parseFloat("oTx2");

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

   <input type='text' id='txt2' /> 

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

   <input type='text' id='fruit' />   

 </body>

</html>



提问者:weibo_殇雨916_0 2015-11-19 22:54

个回答

  • Perona
    2015-11-19 23:41:13

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

    这里只获取到元素对象,要获取值,应该用value属性

            case "+":
                result=parseFloat("oTx1")+parseFloat("oTx2");
                break;
            case "-":
                result=parseFloat("oTx1")-parseFloat("oTx2");
                break;
            case "*":
                result=parseFloat("oTx1")*parseFloat("oTx2");
                break;
            default:
                result=parseFloat("oTx1")/parseFloat("oTx2");
                break;

    这里的变量名oTx1和oTx2不需要加引号。

    修改后的全代码

    <!DOCTYPE html>
    <html>
    <head>
        <title> 事件</title>
        <script type="text/javascript">
            function count(){
                var oTx1= document.getElementById("txt1").value;
                //获取第一个输入框的值
                var oTx2=document.getElementById("txt2").value;
    //获取第二个输入框的值
                var oTx3=document.getElementById("select").value;
    //获取选择框的值
                var result=" ";
                switch(oTx3)
                {
                    case "+":
                        result = parseFloat(oTx1) + parseFloat(oTx2);
                        break;
                    case "-":
                        result = parseFloat(oTx1) - parseFloat(oTx2);
                        break;
                    case "*":
                        result = parseFloat(oTx1) * parseFloat(oTx2);
                        break;
                    default:
                        result = parseFloat(oTx1) / parseFloat(oTx2);
                }
                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></br>
    <input type='text' id='txt2' />
    <input type='button' value=' = ' onclick="count()"/> </br><!--通过 = 按钮来调用创建的函数,得到结果-->
    <input type='text' id='fruit' />
    </body>
    </html>