I am trying to pull a row of data from localstorage in javascript and combine multiple values ββfrom multiple rows. For example, I can have the following 2 lines
Bob;companyA;6141692120; email1@email.com ;1 John St;;Bellevue;6056;;6;10;20.00;52.800000000000004;72.80;7.28;80.08; Jane;companyB;6157692120; email2@email.com ;1 Jack St;;Bellevue;6056;;6;10;20.00;52.800000000000004;72.80;7.28;80.08;
I want to ignore the first few and add the last 5 or 6 of each, so the value [13] in line A + value [13] in line B = X, there will be dozens of lines, and they all have random numbers, I attached the javascript code below and hope someone can point me in the right direction.
windows.onload= getAllItems(); function getAllItems(){ var all = []; for(var i = 0, j = localStorage.length; i < j; i++) { all[i] = localStorage[i].split(';'); } var sum = 0; for(var i = 0, j = all.length; i < j; i++) { sum += all[i][12]; } var bags = all[9]; var distance = all[10]; var hdelivery_fee = all[11]; var hprice = all[12]; var htotal_notax = all[13]; var hgst = all[14]; var htotal_tax = all[15]; var hordernumber = all[16]; document.write('Number of Bags; ' + bags + '<br />'); document.write('Distance; ' + distance + '<br />'); document.write('Delivery Fee; $' + hdelivery_fee + '<br />'); document.write('Price of Bags; $' + hprice + '<br />'); document.write('Total Ex-GST; $' + htotal_notax + '<br />'); document.write('GST; $' + hgst + '<br />'); document.write('Total Inc GST; $' + htotal_tax + '<br />'); document.write('hordernumber; ' + hordernumber + '<br />'); }
It is also probably worth mentioning that this is a destination, and therefore I am not allowed to use JSON or jquery in any capacity
EDIT: I changed the code according to the answer below, and I think I took the loop out of the loop, however, I'm incredibly new to this, so many of them fall in and miss. It doesn't seem to work as if it looks (to me)
EDIT2: adding javascript for localstorage information source
function source() { var newDate = new Date(); var itemId = newDate.getTime(); var values = new Array(); var name = document.getElementById("name").value; var company = document.getElementById("company").value; var contactnumber= document.getElementById("contactnumber").value; var email = document.getElementById("email").value; var address1 = document.getElementById("address1").value; var address2 = document.getElementById("address2").value; var suburb = document.getElementById("suburb").value; var postcode = document.getElementById("postcode").value; var comments = document.getElementById("comments").value; var bags = document.getElementById("bags").value; var distance = document.getElementById("distance").value; var hdelivery_fee = document.getElementById("hdelivery_fee").value; var hprice = document.getElementById("hprice").value; var htotal_notax = document.getElementById("htotal_notax").value; var hgst = document.getElementById("hgst").value; var htotal_tax= document.getElementById("htotal_tax").value; var hordernumber= document.getElementById("hordernumber").value; values.push(name); values.push(company); values.push(contactnumber); values.push(email); values.push(address1); values.push(address2); values.push(suburb); values.push(postcode); values.push(comments); values.push(bags); values.push(distance); values.push(hdelivery_fee); values.push(hprice); values.push(htotal_notax); values.push(hgst); values.push(htotal_tax); values.push(hordernumber); try { localStorage.setItem(itemId, values.join(";")); } catch (e) { if (e == QUOTA_EXCEEDED_ERR) { alert("Quota exceeded!"); } } }
EDIT3:
Adding an entire html page to host the report, including javascript.
<html> <head> <title>Form Processor</title> <link rel="stylesheet" type="text/css" href="layout.css"> </head> <body> <div id="header"> <h1 id="main_tile"> Everwarm Fuel Merchants - Daily Report </h1> </div> <h1> Daily Sales Summary <h1> <p> <script> function getAllItems(){ var all=[]; for (i = 0,j=localStorage.length; i<j; i++) { all[i] = localStorage.getItem(localStorage.key(i)).split(';'); } function getTotal(index) { var sum = 0; for(var i = 0, j = all.length; i < j; i++) { sum += parseFloat(all[i][index]); } return sum; } var bags = getTotal(9); var distance = getTotal(10); var hdelivery_fee = getTotal(11); var hprice = getTotal(12); var htotal_notax = getTotal(13); var hgst = getTotal(14); var htotal_tax = getTotal(15); var hordernumber = getTotal(16); document.write('Number of Bags; ' + bags + '<br />'); document.write('Distance; ' + distance + '<br />'); document.write('Delivery Fee; $' + hdelivery_fee + '<br />'); document.write('Price of Bags; $' + hprice + '<br />'); document.write('Total Ex-GST; $' + htotal_notax + '<br />'); document.write('GST; $' + hgst + '<br />'); document.write('Total Inc GST; $' + htotal_tax + '<br />'); document.write('hordernumber; ' + hordernumber + '<br />'); }</script> </p> <input type="button" value="Clear storage" onclick="localstorage.clear()" > </input> <input type="button" value="Return" onclick="history.back()"> </input> </body> </html>