2

JSは初めてです。JSを入れdocument.getElementByIdて、その要素をIDに入れようとしましたpが、ボタンをクリックしても何も表示されません。私はここで何が間違っているのですか?どんな助けでも大歓迎です。ありがとうございました!

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GRL Example</title>
<script>
function class_roll() {
    // Car Classes
    var classes = ["B", "A", "S", "R3", "R2", "R1"],
        classToUse = classes[Math.floor(Math.random() * classes.length)];
    var elemClass = document.getElementById("croll");
}

function track_roll() {
    // Tracks
    var tracks = ["Clear Springs Circuit", "Festival North Circuit", "Beaumont Circuit", "Finley Dam Circuit", "Gladstone Circuit", "Clifton Valley Trail", "Gladstone Trail"],
        trackToUse = tracks[Math.floor(Math.random() * tracks.length)];
    var elemTrack = document.getElementById("troll");
}
</script>
</head>

<body>

<p id="croll">Some text here</p>
    <button onclick="class_roll();">Class Roll</button>

<p id="troll">Some text here</p>
    <button onclick="track_troll;">Track Roll</button>

</body>
</html>
4

2 に答える 2

3

最初の機能付き

function class_roll() {
    // Car Classes
    var classes = ["B", "A", "S", "R3", "R2", "R1"],
        classToUse = classes[Math.floor(Math.random() * classes.length)];
    var elemClass = document.getElementById("croll");
}

アクションを実行していないため、表示されるアクションを追加します。に変更します。

function class_roll() {
    // Car Classes
    var classes = ["B", "A", "S", "R3", "R2", "R1"],
        classToUse = classes[Math.floor(Math.random() * classes.length)];
    document.getElementById("croll").innerHTML = classToUse ;
}

2番目の機能付き

function track_roll() {
    // Tracks
    var tracks = ["Clear Springs Circuit", "Festival North Circuit", "Beaumont Circuit", "Finley Dam Circuit", "Gladstone Circuit", "Clifton Valley Trail", "Gladstone Trail"],
        trackToUse = tracks[Math.floor(Math.random() * tracks.length)];
    var elemTrack = document.getElementById("troll");
}
  1. 関数名にタイプミスがあります。これは、呼び出す名前が定義名と異なることを意味します。
  2. document.getElementById("troll").innerHTML = trackToUse ; これを追加すると、選択したオプションがランダムに表示されます。

ここにあなたの援助のために修理されたコードがあります

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GRL Example</title>

</head>

<body>

<p id="croll">Some text here</p>
    <button onclick="class_roll();">Class Roll</button>

<p id="troll">Some text here</p>
    <button onclick="track_roll();">Track Roll</button>

</body>
<script>
function class_roll() {
    // Car Classes
    var classes = ["B", "A", "S", "R3", "R2", "R1"],
        classToUse = classes[Math.floor(Math.random() * classes.length)];
    document.getElementById("croll").innerHTML = classToUse ;
}

function track_roll() {

    var tracks = ['a' ,'a' ,'a' ,'a'];
        trackToUse = tracks[Math.floor(Math.random() * tracks.length)];
    document.getElementById("troll").innerHTML = trackToUse ;

}
</script>
</html>
于 2013-01-24T04:42:01.460 に答える
2

要素の値を変更したい場合は、要素を取得した後で何かを行う必要があります。

例えば:

function track_roll() {
    // Tracks
    var tracks = ["Clear Springs Circuit", "Festival North Circuit", "Beaumont Circuit", "Finley Dam Circuit", "Gladstone Circuit", "Clifton Valley Trail", "Gladstone Trail"],
        trackToUse = tracks[Math.floor(Math.random() * tracks.length)];
    var elemTrack = document.getElementById("troll");
    elemTrack.InnerHTML = "Test";
}
于 2013-01-24T04:19:38.957 に答える