如果reg id为null或为空,我需要以红色显示文本<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>
答案 0 :(得分:1)
经过一番研究后,我想出了一个非常简单的解决方案。
我用过
带有id的跨度
标记,并在javascript中接收该ID。这样它对我有用。 我将字体更改为span,有些事情如下
<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";
}
答案 1 :(得分:0)
说你的元素是htmlElement
,你可以通过你使用的任何方法得到它。
所以,设置字体颜色的正确方法是
htmlElement.style.color='red';
希望它对你有所帮助。
答案 2 :(得分:0)
你真的不应该使用字体标签,但要更改元素样式,你可以:
element.style.color = "#000";
并且当getElementsByName返回元素的nodeList时,您需要选择一个,如:
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";
}