2012-06-19 49 views
2

好的,所以我試圖通過微芯片的Pic-web來監控和控制某些東西。除了一件事之外,我設法對它進行了編程。我需要比較它給我的兩個溫度,如果其中一個溫度較小,另一個則需要啓動繼電器,如果溫度較高或相等,則必須激活另一個繼電器。從我所理解的Pic-web更新一個xml文件(status.xml),然後網站(使用ajax)從那裏獲取值並將它們顯示在網頁上。使用ajax比較兩個xml值

的XML文件看起來像這樣

<response> 
<temp0>~temp~</temp0> 
<temp2>~tempc~</temp2> 
</response 

Ajax代碼我用它來得到我的網頁值

document.getElementById('temp0').innerHTML = getXMLValue(xmlData, 'temp0'); 
document.getElementById('temp2').innerHTML = getXMLValue(xmlData, 'temp2'); 

,並顯示他們,我用

<span id="temp0"style="font-weight:normal">?</span> 
<span id="temp2"style="font-weight:normal">?</span> 

我需要做的就是比較temp0和temp2

var temp0 = parseFloat(document.getElementById('temp0').innerHTML) 
    var temp2 = parseFloat(document.getElementById('temp2').innerHTML) 

    if(temp0 < temp2) 
    { 
     document.getElementById('temp3').innerHTML = '<font color="#00FF00">ON</font>'; 
    } 
    else 
    { 
     document.getElementById('temp3').innerHTML = '<font color="#00FFFF">OFF</font>'; 

} 

的我只是添加<span id="temp3">?</span>顯示結果

,對嗎?

回答

1
if(getXMLValue(xmlData, 'temp0') < 'temp2') 

'temp0'之前將其轉換不是document.getElementById('temp0')的價值,它只是你做了含有'字符串TEMP0' 。

您需要將此分配給一個變量,並從字符串轉換爲數字:

var temp0 = parseFloat(document.getElementById('temp0').innerHTML) 
var temp2 = parseFloat(document.getElementById('temp2').innerHTML) 

然後使用:

if(temp0 < temp2) 
0

這行看起來不正確...

if(getXMLValue(xmlData, 'temp0') < 'temp2') 

它應該是...?

if(getXMLValue(xmlData, 'temp0') < getXMLValue(xmlData, 'temp2')) 

,除非getXMLValue返回一個數字的一​​些品種,你會想希望比較

0

什麼是這樣的:

var temp0 = parseInt(getXMLValue(xmlData, 'temp0')) 
    , temp2 = parseInt(getXMLValue(xmlData, 'temp2')); 

if(temp0 < temp2) { 
    ... 
} else { 
    ... 
} 
0
// Compare the two temperatures 
var temp0 = parseFloat(document.getElementById('temp0').innerHTML) 
var temp2 = parseFloat(document.getElementById('temp2').innerHTML) 

if(temp0 < temp2) { 
    document.getElementById('temp3').innerHTML = '<font color="#00FF00">ON</font>'; 
} else { 
    document.getElementById('temp3').innerHTML = '<font color="#FF0000">OFF</font>'; 
} 

這將顯示ON如果t EMP2> TEMP0

和OFF如果TEMP0 < TEMP2

感謝大家的支持