@LoganWayneが指摘したことを拡張するには...
したがって、JavaScriptでは、テーブルデータ要素への参照を取得すると、指定したIDを持つDocumentオブジェクトの最初のインスタンスを常に取得します。
// 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
tdオブジェクトに一意のIDを割り当てるか、@ Logan Wayneが述べたように、HTMLDOMオブジェクトのクラスプロパティを利用する必要があります。
クラスを使用して、同様の要素をグループ化できます。テーブルのさまざまな列にクラス名を割り当てた後(製品 、プロモーション価格 、通常価格 、スタッキング ) getElementsByClassName()を使用できます td要素の配列を取得します。
...
var products = document.getElementsByClassName("product"); <-- array of product td elements
...