Onchange不开火?

时间:2013-10-13 12:24:51

标签: javascript html javascript-events

它可能是非常愚蠢的我正在做但我搜索了很多,为了我的生活,我没有得到什么错(网页设计/编程新)。我知道它应该解雇文本框失去焦点但它没有。

<html>
<head>
<title>ask9</title>

<script>
function changeColor(){

var x=document.getElementById("box").value;
if(isNaN(x)==false)
{
    body.style.backgroundColor="yellow";
}
else if(isNaN(x)==true)
{
    body.style.backgroundColor="green";
}
else
{
    body.style.backgroundColor="red";
}
}
</script>
</head>
<body>


    <input type="text" id="box" onchange="changeColor()">

</body>
</html>

1 个答案:

答案 0 :(得分:3)

body未定义 - 您可能是document.bodydocument.getElementsByTagName('body')[0] - 请参阅此jsFiddle:http://jsfiddle.net/LrrpM/

<html>
<head>
<title>ask9</title>
<script>
function changeColor() { 
    var x=document.getElementById("box").value;
    if(isNaN(x)==false)
    {
        document.body.style.backgroundColor="yellow";
    }
    else if(isNaN(x)==true)
    {
        document.body.style.backgroundColor="green";
    }
    /* // will never occur, isNaN() always returns a boolean
    else 
    {
        document.body.style.backgroundColor="red";
    }*/
}
</script>
</head>
<body>
    <input type="text" id="box" onchange="changeColor()"> 
</body>
</html>