实现失败,请教原因!!!

来源:6-11 编程练习

Lgpink

2016-01-11 21:29

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title> 
  <script type="text/javascript">
   function count(){
    var x=document.getElementById("txt1").value;
    var y=document.geiElementById("txt2").vaule;
    var z=document.getElementById("select").vaule;
    var sum;
    if(z=="+"){
        sum=x+y;
    }
    else if(z=="-"){
        sum=x-y;
    }
    else if(z=="*"){
        sum=x*y;
    }else{
        sum=x/y;
    }
    document.getElementById("fruit")=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=' = ' onClick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
   <input type='text' id='fruit' />  
 </body>
</html>

写回答 关注

5回答

  • 李晓健
    2016-01-11 21:37:35
    已采纳
    function count(){
        var x=document.getElementById("txt1").value;
        //这里getElementById写错了  value 写错了
        var y=document.getElementById("txt2").value;
        //value 写错了
        var z=document.getElementById("select").value;
        var sum;
        if(z=="+"){
            //这里最好做一下转换,否则加法会失效
            sum=+x+(+y);
        }else if(z=="-"){
            sum=x-y;
        }else if(z=="*"){
            sum=x*y;
        }else{
            sum=x/y;
        }
        //这里value没写
        document.getElementById("fruit").value=sum;
    }


    testna... 回复李晓健

    老师,还有我看别人的代码,最后应该是 document.getElementById('fruit').value=txt_3; 我把它改成: txt_3=document.getElementById('fruit').value;就不行,请问不应该都是赋值吗?这两者顺序之间有什么区别吗?

    2016-01-14 21:25:05

    共 9 条回复 >

  • 彼夏未殇
    2016-01-12 16:49:51

    可以用用eval函数来计算!你可以去试试!

  • Lgpink
    2016-01-11 21:57:39

    谢谢耐心帮忙!

  • 双鱼座
    2016-01-11 21:47:05

    新手 学会自己找错误,alert();弹出对话框,检查以上代码是否有误 对于新手来说是非常关键的,自己回头找代码,干看着,也许一辈子都找不出来,因为自己写的,认为总是那么的完美!

    Lgpink

    谢谢,我会努力自己改错误

    2016-01-11 21:57:07

    共 1 条回复 >

  • Perona
    2016-01-11 21:38:45
    var y=document.geiElementById("txt2").vaule;
    var z=document.getElementById("select").vaule;

    是getElementById不是geiElementById,是value不是vaule。这里转换一下数据类型吧。从页面获取的值都是字符串型,用parseInt()方法转换成整型。

    document.getElementById("fruit")=sum;

    这里缺了value,不能直接把值赋给元素对象。

    修改后的全代码

    <!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 z=document.getElementById("select").value;
                var sum;
                if(z=="+"){
                    sum=x+y;
                }
                else if(z=="-"){
                    sum=x-y;
                }
                else if(z=="*"){
                    sum=x*y;
                }else{
                    sum=x/y;
                }
                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=' = ' onClick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
    <input type='text' id='fruit' />
    </body>
    </html>


JavaScript进阶篇

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

469265 学习 · 22584 问题

查看课程

相似问题