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

为什么没有结果呢?在没有加上parselnt时还能显示字符串相加,加上之后什么运算都有做不了???求帮助??

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

       

    var x=parselnt(document.getElementById("txt1").value)//获取第一个输入框的值

var y=parselnt(document.getElementById("txt2").value)//获取第二个输入框的值

var z=document.getElementById("select").value//获取选择框的值

    var a;

    if(z='+'){a=x+y;}

    else if(z='-'){a=x-y;}

    else if(z='*'){a=x*y;}

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

    else {a=x/y;}

    //设置结果输入框的值 

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

   }

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


提问者:慕粉1469604703 2016-08-31 12:04

个回答

  • imalwayshere
    2016-08-31 17:04:22

    遇到很多情况,可以用switch:

    function count(){
        var num1=parseFloat(document.getElementById("txt1").value);
        var num2=parseFloat(document.getElementById("txt2").value);
        var result=document.getElementById("fruit");
        var op=document.getElementById("select").value;
        switch(op){
            case'+':result.value=num1+num2;break;
            case'-':result.value=num1-num2;break;
            case'*':result.value=num1*num2;break;
            case'/':result.value=num1/num2;break;
    }


  • 慕粉1469604703
    2016-08-31 13:51:42

    另:当变量的值是确定的某些值,应该用switch来进行判断分支。if...else嵌套语句实用性强,但容易使代码混乱,可读性差。

  • 慕粉3710174
    2016-08-31 13:50:25

    parseInt中I是i的大写,不是L。

  • 慕粉1469604703
    2016-08-31 13:48:32

    找出错误了:1.函数名写错parseInt应该是大写的I(i),而不是小写的l(L).没有见过这个函数,所以套用的,当时               奇怪为什么没有高亮。

                        2.if...else 为多重判断函数,语法应该为if(z=='+'),是一个判断条件,而不应该为赋值条件。