Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Problem ze skryptem w JavaScript http://forum.freesco.pl/viewtopic.php?f=34&t=18704 |
Strona 1 z 1 |
Autor: | jpglobal [ wtorek, 17 kwietnia 2012, 07:38 ] |
Tytuł: | Problem ze skryptem w JavaScript |
Jest strona ze skryptem postaci: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> body {background-color:#006;color:#fff;} #thetable {background-color:#fff;border:1px solid #999;font-family:arial,sans-serif;font-size:16px;color:#000;margin:30px auto;} #thetable td {padding:0;} #thetable th {border:1px solid #999;line-height:25px;padding:0 10px;} .box {border:1px solid #999;padding:10px;margin-bottom:2px;} #nme {background-color:#fff;color:#600;} </style> <script type="text/javascript"> var xmlDoc window.onload=function(){ // code for IE if(window.ActiveXObject) { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.load('last.xml'); getTable() } // code for Firefox else { if(document.implementation &&document.implementation.createDocument) { xmlDoc= document.implementation.createDocument("","",null); xmlDoc.load('last.xml'); xmlDoc.onload=getTable; } else { alert('Your browser cannot handle this script'); } } } function getTable(){ var nme=xmlDoc.getElementsByTagName("NAME"); var vle=xmlDoc.getElementsByTagName("VALUE") var yea=xmlDoc.getElementsByTagName("YEAR"); var mth=xmlDoc.getElementsByTagName("MONTH") var day=xmlDoc.getElementsByTagName("DAY"); var hor=xmlDoc.getElementsByTagName("HOUR"); var min=xmlDoc.getElementsByTagName("MIN") var sec=xmlDoc.getElementsByTagName("SEC"); for(c=0;c<nme.length;c++) { document.getElementById("nme").innerHTML+='<div class="box">'+nme[c].firstChild.nodeValue+'<\/div>'; document.getElementById("vle").innerHTML+='<div class="box">'+vle[c].firstChild.nodeValue+'<\/div>'; document.getElementById("yea").innerHTML+='<div class="box">'+yea[c].firstChild.nodeValue+'<\/div>'; document.getElementById("mth").innerHTML+='<div class="box">'+mth[c].firstChild.nodeValue+'<\/div>'; document.getElementById("day").innerHTML+='<div class="box">'+day[c].firstChild.nodeValue+'<\/div>'; document.getElementById("hor").innerHTML+='<div class="box">'+hor[c].firstChild.nodeValue+'<\/div>'; document.getElementById("min").innerHTML+='<div class="box">'+min[c].firstChild.nodeValue+'<\/div>'; document.getElementById("sec").innerHTML+='<div class="box">'+sec[c].firstChild.nodeValue+'<\/div>'; } } </script> </head> <body> <div id="container"> <table id="thetable"> <thead> <tr> <th>Name</th> <th>Value</th> <th>Year</th> <th>Month</th> <th>Day</th> <th>Hour</th> <th>Minute</th> <th>Second</th> </tr> </thead> <tr> <td id="nme"></td> <td id="vle"></td> <td id="yea"></td> <td id="mth"></td> <td id="day"></td> <td id="hor"></td> <td id="min"></td> <td id="sec"></td> </tr> </table> </div> </body> </html> Strona prezentuje w postaci tabelarycznej dane pomiarowe, które są okresowo zapisywane w pliku "last.xlm" poniższej postaci: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml-stylesheet type="text/css" href="last.css" ?> <DATA> <PROGRAM NAME="LogTemp"> <VERSION>2.25.0.97</VERSION> <TIMEZONE_BIAS_UTC>+0200</TIMEZONE_BIAS_UTC> </PROGRAM> <TEMPERATURES> <SENSOR ROMID="48000001B0584628"> <NAME>Parter_JADALNIA</NAME> <VALUE>18.00</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>27</SEC> </TIME> </SENSOR> <SENSOR ROMID="8A00000165D7AC28"> <NAME>Parter_SRODEK</NAME> <VALUE>21.50</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>25</SEC> </TIME> </SENSOR> <SENSOR ROMID="44000002D9275028"> <NAME>Parter_TV</NAME> <VALUE>20.50</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>21</SEC> </TIME> </SENSOR> <SENSOR ROMID="F3000001B293E028"> <NAME>Pietro_OGROD</NAME> <VALUE>19.00</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>19</SEC> </TIME> </SENSOR> <SENSOR ROMID="F600000165E48C28"> <NAME>Pietro_POKOIK</NAME> <VALUE>21.00</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>24</SEC> </TIME> </SENSOR> <SENSOR ROMID="DD00000165FE0C28"> <NAME>Pietro_SRODEK</NAME> <VALUE>21.50</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>22</SEC> </TIME> </SENSOR> <SENSOR ROMID="58000001660A3F28"> <NAME>Pietro_ULICA</NAME> <VALUE>22.00</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>30</SEC> </TIME> </SENSOR> <SENSOR ROMID="EB000001B0C31B28"> <NAME>Piwnica_CO</NAME> <VALUE>29.00</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>29</SEC> </TIME> </SENSOR> <SENSOR ROMID="5A00000166171028"> <NAME>Piwnica_SERWERY</NAME> <VALUE>24.50</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>20</SEC> </TIME> </SENSOR> <SENSOR ROMID="DD00000165E10228"> <NAME>Piwnica_SYPIALNIA</NAME> <VALUE>21.50</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>26</SEC> </TIME> </SENSOR> <SENSOR ROMID="5E000002D93CFD28"> <NAME>Piwnica_WEJSCIE</NAME> <VALUE>24.00</VALUE> <DATE> <YEAR>2012</YEAR> <MONTH>4</MONTH> <DAY>16</DAY> </DATE> <TIME> <HOUR>10</HOUR> <MIN>12</MIN> <SEC>28</SEC> </TIME> </SENSOR> </TEMPERATURES> </DATA> Jak wynika z powyższych kodów strona "html" prezentuje wyniki pomiaru w postaci tabelarycznej. Celem zadania jest modyfikacja skryptu w taki sposób, żeby wartości np. z kolumny "Value" można było wyświetlić w dowolnych miejscach ekranu każdą z osobna. Czemu to ma służyć? Otóż na stronie www. ma być umieszczony rysunek z rzutem kondygnacji z zaznaczonymi pomieszczeniami, w których znajdują się czujniki wyświetlane w tablicy wyników. Na tle tego rysunku kondygnacji, w poszczególnych pomieszczeniach ma być wyświetlana aktualna temperatura. Czy ktoś zechce mi pomóc rozwiązać powyżej sformuoawny problem? |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |