使用带有XMLHttpRequest数据的math

时间:2012-11-17 16:19:14

标签: xmlhttprequest

我被问到是否可以使用某些表单数据并将其呈现在HTML中。

我需要将LOADS数据/值相加并乘以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 个答案:

答案 0 :(得分:1)

kJ引用了一系列元素,因此您不能将它们相乘。

您需要遍历集合,访问其textContent(或innerText,具体取决于浏览器版本),根据需要转换为数字(parseIntparseFloat),将它们相乘,然后将它们添加到运行总计中。最后,最后,您可以输出总数。