嘻二 2022-11-04 10:45 采纳率: 16.7%
浏览 130
已结题

js和表单的交互问题

想创建一个表单,根据学生成绩输出学生成绩等级,其中要运用js和html的内容。代码如下:

 <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">    
    </head>
    <script language="javascript" type="text/javascript">

        
        function gradelevel(input){
            var input;
            var msgE=document.getElementById('msg');
            var b;
            score=Number(input)
            // if (score == 60){
            //     document.write("成绩不及格!");
            // } else{
            //     document.write("成绩及格!");
            // }
            b=score/10;
            lint=Math.floor(b);
            
            switch(lint){
                case 0:
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                    msgE.innerHTML='成绩不及格!';
                    
                    break;
                case 6:
                    msgE.innerHTML='成绩及格!';
                    
                    break;
                case 7:
                    msgE.innerHTML='成绩中等!';
                    
                    break;
                case 8:
                    msgE.innerHTML='成绩良好!';
                    
                    break;
                case 9:
                case 10:
                    msgE.innerHTML='成绩优秀!';
                    
                    break;
                


            }
        }

        function validate(){
             return gradelevel();
        }
     


    </script>
    <body>
        <p>请输入成绩:</p>
        <form action="SY3_1.html" method="get" onsubmit="return validate(document.getElementById(grade))" >
            <input type="text" id="grade" value='' onblur="return validate(document.getElementById(grade))">
            
            <button type="submit" >提交</button>  
            <p>成绩等级为:</p>
            <span id="msg"></span>  

        </form>
    </body>

</html>
 


运行结果及报错内容

输入成绩后,没有返回值。

我的解答思路和尝试过的方法

感觉是在JS变量 的那块出现了问题,但具体的也不太清楚

我想要达到的结果

在点击“提交”按钮后,可以在最后一栏出现成绩等级的结果。

  • 写回答

12条回答 默认 最新

  • 夜郎king 2022博客之星IT其它领域TOP 12 2022-11-04 11:12
    关注

    把方法给你改了一下,主要是input不从外面传进来了,直接在方法中获取,见以下代码:

    function gradelevel(){
                var msgE=document.getElementById('msg');
                var input = document.getElementById('grade').value;
                var b;
                score=Number(input)
                // if (score == 60){
                //     document.write("成绩不及格!");
                // } else{
                //     document.write("成绩及格!");
                // }
                b=score/10;
                lint=Math.floor(b);
                
                switch(lint){
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                        msgE.innerHTML='成绩不及格!';
                        break;
                    case 6:
                        msgE.innerHTML='成绩及格!';
                        break;
                    case 7:
                        msgE.innerHTML='成绩中等!';
                        break;
                    case 8:
                        msgE.innerHTML='成绩良好!';
                        break;
                    case 9:
                    case 10:
                        msgE.innerHTML='成绩优秀!';
                        break;
                }
            }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(11条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!