javascript - 首次使用 DOM 更改表单 onSubmit 中未回答问题的颜色

标签 javascript dom getelementbyid

这是我的表格:

<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

等等

最佳答案

您不需要评估。 getElementById 使用字符串。试试这个:

document.getElementById("Q"+i).style.color = "red";  

关于javascript - 首次使用 DOM 更改表单 onSubmit 中未回答问题的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11430628/

相关文章:

javascript - 去除 active LI 下的 UL 背景

C# 为什么方法 HtmlDocument.GetElementById 匹配标签的属性名称?

javascript - document.getElementById 有时返回 null

javascript - 没有从我的对象变量中获得正确的输入

javascript - 当用 twig 定义元素时,通过 ID 捕获元素

javascript - IE7 不支持本地存储

javascript - 横向滚动或向下滚动

javascript - 触发父div的click事件

asp.net - 检测所有 HTML 页面渲染何时发生

javascript - 使用 jQuery 的 insertAfter() 和选择框是否存在已知的性能问题?