0

クイズとして設定したフォームがあります。最終的には、クイズの最終スコアを計算するように変更します。しかし、私はこの部分に固執しています。正しいボックスがチェックされている場合はポイントを加算し、間違ったボックスがチェックされている場合はポイントを減算したい。

正解のコード:

<input type="checkbox" name="q3" id="q1javascript" answer="true">

間違った答えのコード:

<input type="checkbox" name="q3" id="q3xhtml" answer="false">

それに対するJavascriptチェック:

function test() {
    var boxes = document.getElementsbyName('q3');
    var score = 0;
    var i = 0;
    while (i < 4) {
        var answer = boxes[i].getAttribute('answer');
        if (answer === 'true') {
            score++;
        }
        else {
            score--;
        }
        i++;
    }
    alert(score);
}

JSFiddle

4

1 に答える 1

2

このJSFiddleを試してください:http://jsfiddle.net/vCz2T/1/

チェックボックスはdata-answer="true"またはを使用するようになりdata-answer="false"ました。属性などのカスタムデータanswerには、プレフィックスとしてdata-:を付ける必要があります。

<input type="checkbox" name="q3" id="q3css" data-answer="true">

test()関数は次のように変更されました。

function test() {
    var boxes = document.getElementsByName('q3');
    var score = 0;
    var i, box, answer;
    for (i = 0; i < boxes.length; i++) {
        box = boxes[i];
        if (box.checked) {
            answer = box.getAttribute('data-answer');
            if (answer === 'true') {
                score++;
            } else {
                score--;
            }
        }
    }
    alert(score);
}

あなたは今やらなければなりませんgetAttribute('data-answer')。また、チェックされbox.checkedたチェックボックスのみがカウントされるようにチェックする必要があります。

于 2013-03-18T04:22:54.753 に答える