2012-01-04 2 views
0

xml 파일의 이름을 표시하는 태그를 얻으려고하고 있는데, 현재 트리거 될 때 색상 및 텍스트를 변경하는 링크가 있지만 원본 상태를 가져오고 싶습니다. XML 파일의 이름.자바 스크립트 및 XML innerHTML 명명

여기 입력 링크에만 관심이 있습니다. 모두가 좋아 보인다 입력이 트리거 될 때 잘 작동하지만 그것이 말하는 곳 등 입력 1, 입력 2, 난로드를 싶습니다

<div id="status"> 
    <div id="loading" style="display:none">Error:<br />Connection to EMACSYS board was lost.</div> 
    <div id="display"> 
     <p></span></p> 
     <p>Inputs:<br /><span style="font-size:20pt"></p> 
     <a id="btn0">&bull; Input 1</a><br> 
     <a id="btn1">&bull; Input 2</a><br> 
     <a id="btn2">&bull; Input 3</a><br> 
     <a id="btn3">&bull; Input 4</a><br> 
     <a id="btn4">&bull; Input 5</a><br> 
     <a id="btn5">&bull; Input 6</a><br> 
     <a id="btn6">&bull; Input 7</a><br> 
     <a id="btn7">&bull; Input 8</a><br> 
     <a id="btn8">&bull; Input 9</a><br> 
     <a id="btn9">&bull; Input 10</a><br> 
     <a id="btn10">&bull; Input 11</a><br> 
     <a id="btn11">&bull; Input 12</a><br> 
     <a id="btn12">&bull; Input 13</a><br> 
     <a id="btn13">&bull; Input 14</a><br> 
     <a id="btn14">&bull; Input 15</a><br> 
     <a id="btn15">&bull; Input 16</a><br> 
     </span> </p> 
     <p>Canopy Temperature: <a id="analogue0">?</a> 
     <br /><span style="font-size:20pt"> 
     <a id="pot0">&rsaquo;</a> 
     <a id="pot1">&rsaquo;</a> 
     <a id="pot2">&rsaquo;</a> 
     <a id="pot3">&rsaquo;</a> 
     <a id="pot4">&rsaquo;</a> 
     <a id="pot5">&rsaquo;</a> 
     <a id="pot6">&rsaquo;</a> 
     <a id="pot7">&rsaquo;</a> 
     <a id="pot8">&rsaquo;</a> 
     <a id="pot9">&rsaquo;</a> 
     </span></p> 
     <p>Engine Heater Temperature: <a id="analogue1">?</a> (30-90 normal) 
     <br /><span style="font-size:20pt"> 
     <a id="1pot0">&rsaquo;</a> 
     <a id="1pot1">&rsaquo;</a> 
     <a id="1pot2">&rsaquo;</a> 
     <a id="1pot3">&rsaquo;</a> 
     <a id="1pot4">&rsaquo;</a> 
     <a id="1pot5">&rsaquo;</a> 
     <a id="1pot6">&rsaquo;</a> 
     <a id="1pot7">&rsaquo;</a> 
     <a id="1pot8">&rsaquo;</a> 
     <a id="1pot9">&rsaquo;</a> 
     </span></p> 

    </div> 

: 여기

사물의 HTML 쪽 이 XML에서이 그 다음 다시 메인 확인하는 것이 정상으로 돌아 때, 경고를 보여줄 것이다 트리거 된 후 때, 그래서 입력 한 것이 확인 메인을 보여줄 것은 inputName 태그
<response> 
<input0>~Inputs(1)~</input0> 
<inputname0>Mains OK</inputname0> 
<input1>~Inputs(2)~</input1> 
<inputname1>Water Heater</inputname1> 
<input2>~Inputs(3)~</input2> 
<inputname2>Genset Standby</inputname2> 
<input3>~Inputs(4)~</input3> 
<inputname3>Genset Running</inputname3> 
<input4>~Inputs(5)~</input4> 
<inputname4>Common Alarm</inputname4> 
<input5>~Inputs(6)~</input5> 
<inputname5>Genset Shutdown Alarm</inputname5> 
<input6>~Inputs(7)~</input6> 
<inputname6>Genset Fuel Tank 1/2</inputname6> 
<input7>~Inputs(8)~</input7> 
<inputname7>Genset Fuel Tank 1/4</inputname7> 
<input8>~Inputs(9)~</input8> 
<inputname8>Genset Fuel Tank Low</inputname8> 
<input9>~Inputs(10)~</input9> 
<inputname9>option</inputname9> 
<input10>~Inputs(11)~</input10> 
<inputname10>option</inputname10> 
<input11>~Inputs(12)~</input11> 
<inputname11>Bulk Fuel Full</inputname11> 
<input12>~Inputs(13)~</input12> 
<inputname12>Bulk Fuel 3/4</inputname12> 
<input13>~Inputs(14)~</input13> 
<inputname13>Bulk Fuel 1/2</inputname13> 
<input14>~Inputs(15)~</input14> 
<inputname14>Bulk Fuel 1/4</inputname14> 
<input15>~Inputs(16)~</input15> 
<inputname15>Bulk Fuel Low</inputname15> 
<output0>~Outputs(1)~</output0> 
<output1>~Outputs(2)~</output1> 
<output2>~Outputs(3)~</output2> 
<output3>~Outputs(4)~</output3> 
<output4>~Outputs(5)~</output4> 
<output5>~Outputs(6)~</output5> 
<output6>~Outputs(7)~</output6> 
<output7>~Outputs(8)~</output7> 
<output8>~Outputs(9)~</output8> 
<output9>~Outputs(10)~</output9> 
<output10>~Outputs(11)~</output10> 
<output11>~Outputs(12)~</output11> 
<output12>~Outputs(13)~</output12> 
<output13>~Outputs(14)~</output13> 
<output14>~Outputs(15)~</output14> 
<output15>~Outputs(16)~</output15> 
<analogue0>~Analogs(1,T,2,3977)~</analogue0> 
<analogue1>~Analogs(2)~</analogue1> 
<analogue2>~Analogs(3)~</analogue2> 
<analogue3>~Analogs(4)~</analogue3> 
<analogue4>~Analogs(5)~</analogue4> 
<analogue5>~Analogs(6)~</analogue5> 
<analogue6>~Analogs(7)~</analogue6> 
<analogue7>~Analogs(8)~</analogue7> 
</response> 

파일.

나는 자바 스크립트에서 몇 가지를 시도했다 :

<script type="text/javascript"> 
// Parses the xmlResponse from status.xml and updates the status box 
function updateStatus(xmlData) { 
    // Check if a timeout occurred 
    if(!xmlData) 
    { 
     document.getElementById('display').style.display = 'none'; 
     document.getElementById('loading').style.display = 'inline'; 
     return; 
    } 

    // Make sure we're displaying the status display 
    document.getElementById('loading').style.display = 'none'; 
    document.getElementById('display').style.display = 'inline'; 

    // Loop over all the LEDs 
    for(i = 0; i < 16; i++) { 
     if(getXMLValue(xmlData, 'input'+i) == '1') { 
      document.getElementById('btn' + i).style.color = '#d00'; 
      document.getElementById('btn' + i).innerHTML = '&bull; ALERT'; 
      } 
     else { 
      document.getElementById('btn' + i).style.color = '#090'; 
      document.getElementById('btn' + i).innerHTML = ('&bull;)getXMLValue(xmlData, 'inputname'+i); 
     } 
    } 

    // Loop over all the buttons 

    // Update the POT value 
    document.getElementById('analogue0').innerHTML =getXMLValue(xmlData,'analogue0'); 
    val=0; 
    for(i = 0; i < 10; i++) { 
    val=val+10; 
    if(getXMLValue(xmlData, 'analogue0') >val) 
     document.getElementById('pot' + i).style.color = '#090'; 
    else 
     document.getElementById('pot' + i).style.color = '#fff'; 
    } 

    // Update the POT value 2 
    document.getElementById('analogue1').innerHTML =getXMLValue(xmlData,'analogue1'); 
    val=0; 
    for(i = 0; i < 10; i++) { 
    val=val+10; 
    if(getXMLValue(xmlData, 'analogue1') >val) 
     document.getElementById('1pot' + i).style.color = '#090'; 
    else 
     document.getElementById('1pot' + i).style.color = '#fff'; 
    } 


} 
setTimeout("newAJAXCommand('status.xml', updateStatus, true)",500); 
</script> 

하지만 운에. 이것이 내 약한 영역이기 때문에 그것의 자바 스크립트 부분과 할 꽤 확신합니다. '&bull;...

: 등호의 오른쪽에

document.getElementById('btn' + i).innerHTML = ('&bull;)getXMLValue(xmlData, 'inputname'+i);

당신이 종결되지 않은 문자열이 서명 :

답변

1

난 당신이 코드의 다음 줄에 구문 오류가 있다고 생각 정확히 무엇을 하려는지 확신 할 수는 없지만, 글 머리 기호를 원한다고 추측합니다. 결과는 다음과 같습니다. getXMLValue(xmlData, 'inputname'+1)

나는 r 이 행을 다음과 같이 입력하십시오. document.getElementById('btn' + i).innerHTML = '&bull;' + getXMLValue(xmlData, 'inputname'+i);

이 기능이 어떻게 작동하는지 알려주십시오.

+0

"FireBug"와 같은 좋은 웹 디버거가이 문제를 찾는 데 도움이되었을 것입니다. –