【问题标题】:using math with XMLHttpRequest data (still dont get it)对 XMLHttpRequest 数据使用数学(仍然不明白)
【发布时间】:2012-11-18 20:29:54
【问题描述】:

有人问我是否可以使用一些表单数据并以 HTML 形式呈现。

我需要将 LOADS 数据/值相加并乘以 RATE 数据/值,我认为这会起作用,但它在我的浏览器中没有显示任何内容?

我哪里错了?

我是 JavaScript 新手,我有 HTML/CSS 技能。我知道 jQuery 可能是做这类事情的最好方法,但我不知道。

感谢 Kolink 昨天告诉我使用 textContent 或 innerText 并使用 (parseInt 或 parseFloat ) 转换为数字,但仍然难倒:-(

<html>
<body>

<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; 



var i;
// array loads data from xml//
var data = [xmlDoc.x[1].getElementsByTagName("RATE").innerText, xmlDoc.x[1].getElementsByTagName("LOADS").innerText];

// Loop cycles through array converts to numbers, writes array value //
for (i=0;i<data.length;i++){
    parseFloat(data[i]);
    document.write("<tr ><td>");
    document.write(data[i]);
    document.write("</td><tr>");
}
// data array multipled//
var total = (data[0] * data[1])

{ 
  document.write("<tr ><td>");
  document.write(total);
  document.write("</td><tr>");
  }



</script>

</body>
</html>




xml

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>

【问题讨论】:

  • 你的 XML 是什么样的?
  • 它在底部只有几个标签,但我只想将其中两个相乘

标签: javascript xml xmlhttprequest


【解决方案1】:

在这里,尝试阅读此https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started。您必须监听 xmlHttpRequest 的 readystate 更改事件,当它成功时,您再解析 XML。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-10
    • 2014-01-22
    • 2011-10-29
    • 2014-08-05
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多