0

Web ページでは、ドロップダウン リストから特定の選択が行われると、div の内容が動的に変化する必要があります。以下は私のコードですが、どこが間違っているのかわかりませんか? どんな助けでも大歓迎です。

<head>
<script type="text/javascript">
function fn()
{
    var x = document.getElementsById("select").selectedIndex;
    var y = document.getElementById("a").innerHTML;

    if (X == "0")
    {
        y = " So.. ur a conman" ;
    }
    else
    {
        y = "oops";
    }
}
window.onload = fn() ;
x.onchange = fn() ;
</script>

<body>
<select name="select" id="select">
<option value="consulting"> Consulting </option>
<option value="industry"> Industry </option>
</select>
<div id="a" style="background-color:blue; width:1200px; height:20px; color:black;">
</div>
</body>
</html>
4

1 に答える 1

2
  • Javascript は大文字と小文字が区別されるため、xとは異なりXます。に変更Xxます。

  • y内部 html への参照ではなく、内部 htmlのを受け取ります。これは、を介して innerHTML を変更できないことを意味します。y

  • window.onload に代入するときは、現在、関数の戻り値を代入しています。関数自体を割り当てたいので、 にする必要がありますwindow.onload = fn;

改善されたがテストされていないコード:

<script type="text/javascript">

var x = document.getElementsById("select");
var y = document.getElementById("a");

function fn()
{

    if (x.selectedIndex == 0)
    {
        y.innerHTML = " So.. ur a conman" ;
    }
    else
    {
        y.innerHTML = "oops";
    }
}

window.onload = fn ;
x.onchange = fn ;

</script>

また、ブラウザには開発者ツールがあり、いくつかの間違いを教えてくれることに注意してください。F12テストに使用しているブラウザーによっては、 を押してそれらのツールを開くことができる場合があります。そこでコンソールを見ると、のようなメッセージが表示されます'X' is not defined

于 2012-07-05T12:17:13.700 に答える