【发布时间】:2013-07-03 13:27:23
【问题描述】:
我正在尝试生成一个网站来显示客户网站的状态。我被 java 脚本中的一些条件格式卡住了。
<script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","example.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.write("<table cellpadding='5' cellspacing='0' width='100%'>");
document.write("<th>SITE:</th>");
document.write("<th>URL:</th>");
document.write("<th>STATUS:</th>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
{
document.write("<tr><td style='font-size:10px'>");
document.write(x[i].getElementsByTagName("SITE")[0].childNodes[0].nodeValue);
document.write("</td><td style='font-size:10px'>");
document.write(x[i].getElementsByTagName("URL")[0].childNodes[0].nodeValue);
document.write("</td><td style='font-size:10px'>");
document.write(x[i].getElementsByTagName("STATUS")[0].childNodes[0].nodeValue);
var STAT=xmlDoc.getElementsByTagName("STATUS");
document.write(STAT)
if (STAT=="UP")
{
document.write('<div style="background-color:#2EFE2E">UP</div>')
}
else
{
if (STAT=="DOWN")
{
document.write('<div style="background-color:#FF0000">DOWN</div>')
}
else
{
document.write('<div style="background-color:#EDA200">UNKNOWN</div>')
}
}
document.write("</td></tr>");
}
document.write("</table>");
</script>
我遇到的问题是脚本的最后一部分。我想要的是一些帮助,让脚本在名为 .根据单词设置不同的颜色和文字。其他任何东西都有自己单独的格式。
出于某种原因(一定是一个非常愚蠢的原因),名为 STATUS 的表格单元格仅显示格式的最后一部分。因此,与其寻找单词“UP”或“DOWN”,不如使用其他所有内容的格式。所以不要使用这个:
if (STAT=="UP")
{
document.write('<div style="background-color:#2EFE2E">UP</div>')
}
它正在使用这个:
else
{
document.write('<div style="background-color:#EDA200">UNKNOWN</div>')
}
这里有一个示例输出:http://echelonservices.co.uk/test/CUSTOMERS.html
有人可以帮忙吗?
【问题讨论】:
-
请注意:JavaScript != Java
-
您在页面加载期间执行同步 ajax 请求? NOOOOOoooooooo……!
-
这个 HTML 看起来像是取自 1999 年。不要使用
document.write来处理这类事情(它会破坏你的文档),不要使用像cellpadding这样的属性除非你有很好的理由。不要在字符串中编写 HTML。
标签: javascript html formatting conditional