0

如果 reg id 为空或为空,我需要以<Reg id:>红色显示文本。这是我当前的实现,但警告,颜色没有改变。

<html>
<head>
<script type="text/javascript">
    function ValidateForm() {
        var stu_regid = document.forms["detail"]["regid"].value;

        if ((null == stu_regid) || (stu_regid == "")) {
            alert("Reg is should not be left blank");
                        // here change the color to red
            document.getElementsByName("font_regid").innerHTML = "red";
            return false;
        }
    }
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>

</head>
<body>
<%!String font_regid = new String();%>
    <form name="detail" action="ReportGenerator" method="get"
        onsubmit="return ValidateForm()">

        <font color=<%=font_regid%>>Reg id:</font> 
        <input type="text" name="regid"><br>

        // some code here also

         <input type="submit" value="submit">
    </form>

</body>
</html>
4

3 回答 3

1

经过一番研究,我想出了一个非常简单的解决方案。

我用了

跨度

用 id 标记并在 javascript 中接收该 id。这种方式对我有用。我将字体更改为跨度,如下所示

    <span id="id_01120">Reg id:</span> 
    <input type="text" name="regid"><br>

并像下面这样接收它

if ((null == label_id) || (label_id == "")) {
        ShowError(label_id, document.getElementById("id_01120"));
        return false;
    }

然后改变颜色如下

    function ShowError(errorfield, errorfont) {
    alert(errorfield.concat("should not be left blank"));
    errorfont.style.color = "red";
}
于 2013-05-08T19:28:03.683 回答
0

假设您的元素是htmlElement您通过任何方法获得的元素。

所以,设置字体颜色的正确方法是 htmlElement.style.color='red';

希望它可以帮助你。

于 2013-05-08T18:45:22.387 回答
0

您真的不应该使用字体标签,但要更改元素样式,您可以:

element.style.color = "#000";

并且由于 getElementsByName 返回元素的节点列表,您需要选择一个,例如:

document.getElementsByName("font_regid")[0].style.color = "#000";

这将选择 nodeList (0) 中的第一个,或者遍历所有这些:

var elems = document.getElementsByName("font_regid");

for (i=0; i<elems.length; i++) {
   elems[i].style.color = "#000";
}
于 2013-05-08T18:45:56.180 回答