比较两个输入数字大小,点击按钮无反应

来源:5-6 编程练习

白白243

2016-10-12 23:44

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>比较大小函数</title>
</head>
<body>
<input type="text" id="num1" name="num1" value="请输入第一个数" onfocus="this.value=''" onblur="if(this.value==''){this.value='请输入第一个数'}" />
<br />
+<br />
<input type="text" id="num2" name="num2" value="请输入第二个数" onfocus="this.value=''" onblur="if(this.value==''){this.value='请输入第二个数'}" />
<br />
<input type="button" id="button22" value="其中较大值是" onclick="champ(a,b)" />
<br />
</body>
<script type="text/javascript">
var a=document.getElementById(num1).value;
var b=document.getElementById(num1).value;
function champ(a,b){
    if(a<b){
        return b;
    }
    else if(a==b){
        return "相等";
    }
    else{
        return a;
    }
}
  document.write(champ(a,b)+"<br />");
</script>
</html>

写回答 关注

1回答

  • mksammk
    2016-10-13 00:22:29
    已采纳

    var a=document.getElementById(num1).value;
    var b=document.getElementById(num1).value;

    这里, 那两个id的名字, 要加个引号引起来, 不加的话, 认为是一个变量(且实际上没有定义). b的值那个id是num2.

    num1和num2的值, 你直接写了, value="请输入第一个数";请输入第二个数, a, b 的值就是这两句话, 没有拿到数字.

    可以用placeholder.

    a,b的值,放在函数里自己去获取的, 那就没有必要传参了. 直接自己获取就可以了.

    比较那里不要return, return就跳出函数了, 也不会打印了.

    最后屏幕输出那里也可以放在函数里打.

    代码如下:

    <!DOCTYPE  HTML>
    <html >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>比较大小函数</title>
    </head>
    <body>
    <input type="text" id="num1" name="num1" placeholder="请输入第一个数" onfocus="this.value=''" onblur="if(this.value==''){this.value='请输入第一个数'}" />
    <br />
    +<br />
    <input type="text" id="num2" name="num2" placeholder="请输入第二个数" onfocus="this.value=''" onblur="if(this.value==''){this.value='请输入第二个数'}" />
    <br />
    <input type="button" id="button22" value="其中较大值是" onclick="champ()" />
    <br />
    </body>
    <script type="text/javascript">
    function champ(){
        var a=document.getElementById('num1').value;
        var b=document.getElementById('num2').value;
        var res;
        if(a<b){
            res = b;
        }
        else if(a==b){
            res = "相等";
        }
        else{
            res = a;
        }
        document.write(res);
    }  
    </script>
    </html>



    白白243

    恩恩 谢谢,这几天都直接在看ajax,没注意有回答。第一次提问,谢谢讲解很详细,明白了~~thank you~

    2016-10-17 22:18:32

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题