Fridayup 2022-11-02 20:34 采纳率: 87.5%
浏览 76
已结题

借助表单和Javascript来制作计算器

调了很久还是不明白为什么左后不显示结果,求指导,感谢!


<html>
<head><title>计算器</title>
<script>
    function f() {
        var one = document.first.one.value;
        var two = document.frist.two.value;
        var char;
        var a=document.getElementsByName("char");
        var result = 0;
        for(var i=0;i<=3;i++){
            if(a[i].checked){
                char=a[i].value;
            }
        }
        switch (char) {
            case "=":
                result = one + two;
                break;
            case "-":
                result = one - two;
                break;
            case "*":
                result = one * two;
                break;
            case "/":
                if ( one == 0) {                      
                    alert("被除数不能为0!")
                    document.second.char.focus
                }
                else {
                    result = one / two;                          
                }
                break;
            default:
                result = "选择正确的运算符";
                break;
        }
        document.third.result.value =result;
    }
</script>
</head>
<body>
    <form name="first"><center>
        请输入第一个操作数:<input type="text" name="one" value=""><p>

        请输入第二个操作数:<input type="text" name="two" value=""><p>
    </center></form>

    <form><center>
        请选择操作
        <input type="radio" name="char" value="+" checked="">+
        <input type="radio" name="char" value="-" >-
        <input type="radio" name="char" value="*" >*
        <input type="radio" name="char" value="/" >/
    </center></form>
        
    <form name="third"><center>
        <input type="button" value="=" onclick="f()"><p>
        
        结果是:
        <input type="text" name="result" value="">

    </center></form>
</body>
</html>
  • 写回答

2条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-11-02 20:59
    关注

    first写错了 ,name换成id

    img

    img

     
    <html>
    <head>
     <title>计算器</title>
    <script>
        function f() {
            var one = document.first.one.value;
            var two = document.first.two.value;
            var char;
            var a=document.getElementsByName("char");
            var result = 0;
            for(var i=0;i<=3;i++){
                if(a[i].checked){
                    char=a[i].value;
                }
            }
            switch (char) {
                case '+':
                    result = Number(one) + Number(two);
                    break;
                case '-':
                    result = one - two;
                    break;
                case '*':
                    result = one * two;
                    break;
                case '/':
                    if ( one == 0) {                      
                        alert("被除数不能为0!")
                        document.second.char.focus
                    }
                    else {
                        result = one / two;                          
                    }
                    break;
                default:
                    result = "选择正确的运算符";
                    break;
            }
            document.third.result.value =result;
        }
    </script>
    </head>
    <body>
        <form name="first"><center>
            请输入第一个操作数:<input type="text" id="one" value=""><p>
     
            请输入第二个操作数:<input type="text" id="two" value=""><p>
        </center></form>
     
        <form><center>
            请选择操作
            <input type="radio" name="char" value="+" checked="">+
            <input type="radio" name="char" value="-" >-
            <input type="radio" name="char" value="*" >*
            <input type="radio" name="char" value="/" >/
        </center></form>
            
        <form name="third"><center>
            <input type="button" value="=" onclick="f()"><p>
            
            结果是:
            <input type="text" name="result" value="">
     
        </center></form>
    </body>
    </html>
    
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序