Abych rozšířil to, na co poukázal @Logan Wayne...
Takže když ve svém JavaScriptu zachytíte odkazy na datové prvky tabulky, vždy získáte PRVNÍ instanci objektu Document s jakýmkoliv ID, které zadáte.
// 2. Define what to do when XHR feed you the response from the server - Start
var product = document.getElementById("product").value; <-- will always return the same element
var pp1 = document.getElementById("pp1").value; <-- will always return the same element
var rp1 = document.getElementById("rp1").value; <-- will always return the same element
var stacking = document.getElementById("stacking").value; <-- will always return the same element
Buď budete muset svým objektům td přiřadit jedinečné ID, nebo, opět, jak zmínil @Logan Wayne, využít vlastnost class objektů HTML DOM.
Třídy lze použít k seskupování podobných prvků. Po přiřazení názvů tříd k různým sloupcům v tabulce (Produkt , Propagační cena , Běžná cena , Skládání ) můžete použít getElementsByClassName() získat pole prvků td.
...
var products = document.getElementsByClassName("product"); <-- array of product td elements
...