0

它可能是我正在做的一些非常愚蠢的事情,但我搜索了很多,对于我的生活,我没有弄错(网页设计/编程中的新功能)。我知道它应该在文本框失去焦点时触发,但它没有。

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

1 回答 1

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>
于 2013-10-13T12:29:19.477 回答