2012-11-17 4 views
1

몇 가지 양식 데이터를 사용하여 HTML로 표시 할 수 있는지 묻는 질문을 받았습니다.XMLHttpRequest 데이터로 수학 사용하기

로드 데이터/값을 더하고 RATE 데이터/값으로 곱해야합니다.이 방법이 효과가 있었지만 브라우저에서 아무 것도 보이지 않는다고 생각 했습니까?

어디로 잘못 가고 있습니까?

저는 JavaScript를 처음 사용하고 HTML/CSS 기술을 가지고 있습니다. 나는 jQuery가 아마 이런 종류의 일을하는 가장 좋은 방법이라는 것을 알고 있지만 나는 그것을 모른다.

<html> 
<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","xmltest.xml",false); 
xmlhttp.send(); 
xmlDoc=xmlhttp.responseXML; 

document.write("<table border='1'>"); 
var k=xmlDoc.x[1].getElementsByTagName("LOADS"); 
var J=xmlDoc.x[1].getElementsByTagName("RATE"); 
    { 
    document.write("<tr ><td>"); 
    document.write(k*J); 
    document.write("</td><tr>"); 
    } 

document.write("</table>"); 

</script> 
</html> 



XML file 

<MULTILOAD_TICKET> 
<TICKET> 
<DATE>12/11/12</DATE> 
<ADDRESS>123 FAKE STREET</ADDRESS> 
<RATE>300</RATE> 
<LOADS>3</LOADS> 
<CUSTOMER>Columbia Ales</CUSTOMER> 
<ORDERID>BBKHJ1001</ORDERID> 
<DRIVER>BOB</DRIVER> 
<VEHICAL_REG>UJ78 JHE</VEHICAL_REG> 
<MATERIAL>SPOIL</MATERIAL> 
<SIG>URL</SIG> 
</TICKET> 

<TICKET> 
<DATE>12/11/12</DATE> 
<ADDRESS>123 FAKE STREET</ADDRESS> 
<RATE>300</RATE> 
<LOADS>6</LOADS> 
<CUSTOMER>Columbia Ales</CUSTOMER> 
<ORDERID>BBKHJ1001</ORDERID> 
<DRIVER>JACK</DRIVER> 
<VEHICAL_REG>EU78 JHD</VEHICAL_REG> 
<MATERIAL>SPOIL</MATERIAL> 
<SIG>URL</SIG> 
</TICKET> 

<TICKET> 
<DATE>15/11/12</DATE> 
<ADDRESS>123 FAKE STREET</ADDRESS> 
<RATE>300</RATE> 
<LOADS>5</LOADS> 
<CUSTOMER>Columbia Ales</CUSTOMER> 
<ORDERID>BBKHJ1001</ORDERID> 
<DRIVER>BOB</DRIVER> 
<VEHICAL_REG>UJ78 JHE</VEHICAL_REG> 
<MATERIAL>SPOIL</MATERIAL> 
<SIG>URL</SIG> 
</TICKET> 

</MULTILOAD_TICKET> 

답변

1

kJ 요소의 모음을 참조하십시오, 그래서 당신은 단지 그들을 함께 곱 수 없습니다. 당신은 컬렉션을 반복 할 필요가

는 자신이 textContent, 숫자 (parseInt 또는 필요에 따라 parseFloat)로 변환을 곱하면 다음 실행중인 총에 추가 (또는 innerText 브라우저 버전에 따라)에 액세스 할 수 있습니다. 마지막으로, 결국 전체를 출력 할 수 있습니다.