2

これが私のフォームです:

<form id="Test" action="index.php?course=4" method="post" name="Test" onSubmit="IsFormComplete(12)">  

フォーム内には、id = Qx class = Qxで動的に生成されたテーブルがあります。ここで、xは1から12です。

 <tr id="Q2" class="Q2">  
            <td width="5%">2) </td>  
            <td colspan="2">According to the Institute of Medicine study the number of deaths from medical errors per year is between</td>  

これが私のjavascript関数です:

function IsFormComplete(iQuestions) {  
var questionNum = iQuestions;  
    itemOkay=true;  
    for (var i=1;i<questionNum;i++) {  
        for (var j=0;j<4;j++) {  
            var thisItem = eval("document.Test.Q" + i + "[" + j + "].checked");  
            if (!thisItem)  {  
                itemOkay = false;  
                document.getElementById(eval("Q" + i)).style.color = "red";  
            }  
        }  
    }  
    alert("item okay = " + itemOkay);  
    if (itemOkay) {  
        return true;  
    } else {  
        return false;  
    }  

}

動作していません助けてください。DOMは初めてで、さまざまなタグを試しました。

document.getElementById(eval("Q" + i)).style.color = "red";  
document.Test.getElementById(eval("Q" + i)).style.color = "red";  
document.getElementById("Q1").style.color = "red";  //To try literal instead of variable

4

1 に答える 1

3

評価は必要ありません。getElementByIdは文字列を使用します。これを試して:

document.getElementById("Q"+i).style.color = "red";  
于 2012-07-11T10:58:02.883 に答える