2015-01-16 80 views
0

我正在創建一個由sku,qty和小計組成的動態表單。所以表單從沒有輸入開始,並在用戶搜索產品時填滿。在按鍵時,我需要計算總數量並通過javascript顯示給用戶。property undefined but console.log can see it

我正在使用通過getElementsByClassName按鍵並計算所有值來獲取所有數量輸入元素。但是瀏覽器正在返回一個錯誤(Uncaught TypeError:無法讀取未定義的屬性'值'),但我可以記錄該值。

我只使用原生JavaScript沒有jQuery。

qtyelements = document.getElementsByClassName('qty-element'); 
    var x; 
    var count = 0; 
    for(x = 0; x <= qtyelements.length; x++){ 
     console.log(qtyelements[x].value); 
     count = count + parseInt(qtyelements[x].value); 
    } 

這裏是我的 problem

+0

你是否在做一個dom準備好的狀態? –

+0

它將所有值記錄到未定義的值,但不是那個值。 –

回答

2

長度的圖像給你的項目數量,但集合是從零開始的。例如,當長度可能是三時,您只能循環到兩個(0,1,2)。

因此改變:

x <= qtyelements.length 

到:

x < qtyelements.length 

在你的情況下,它看起來像你只有兩個元素,所以指數是0和1,但你檢查,看看是否2與<=存在,因此未定義。

相關問題