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

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

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

提问者:白白243 2016-10-12 23:44

个回答

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