Javascript比较功能不起作用

时间:2014-01-03 10:53:41

标签: javascript function

您能不能让我知道为什么这段代码不起作用?我将值1或值2放在text element中,但我没有得到结果“这是1”或“这是2”。似乎“x = document.getElementById("value").value;”行无法正常工作,因为在调试过程中我放了n=1;并且它完美无缺

<html>
<body>
<p>Check the value</p>
<input id="value" type="text"></input>
<button type="button" onclick="myFunction()">Check</button>
<p id="demo"></p>
<script>
function myFunction()
{
    var x;
    x = document.getElementById("value").value;
    switch(x)
        {
            case 1:
            document.getElementById("demo").innerHTML = "this is 1";
            break;
            case 2:
            document.getElementById("demo").innerHTML = "this is 2";
            break;
        }
}
</script>
</body>
</html>

3 个答案:

答案 0 :(得分:6)

输入值是字符串。您正在将字符串"1"与数字1进行比较,它们是不同的。

答案 1 :(得分:0)

使用 parseInt

<html>
    <body>
    <p>Check the value</p>
    <input id="value" type="text"></input>
    <button type="button" onclick="myFunction()">Check</button>
    <p id="demo"></p>
    <script>
    function myFunction()
    {
        var x;
        x = parseInt(document.getElementById("value").value, 10)
        switch(x)
            {
                case 1:
                document.getElementById("demo").innerHTML = "this is 1";
                break;
                case 2:
                document.getElementById("demo").innerHTML = "this is 2";
                break;
            }
    }
    </script>
    </body>
    </html>

答案 2 :(得分:0)

使用parseInt(x).ie将变量“x”转换为整数类型 var n = parseInt(x);