2017-06-13 37 views
0

我確信這裏有一些簡單的東西,我錯過了。這個代碼部分是在我的網站的客戶端:功能不會超過for循環的末尾

function test(){ 
var insert; 
var insertArray = []; 
var arrayLength = document.getElementById("arrayLength").value; 
var length = parseInt(arrayLength) 
var o; 
var int; 
var insertID 
var i; 


for (i = 0; i<=length; i++){ 
    int = i.toString(); 
    insertID = "insertNumber" + int; 
    insert = document.getElementById(insertID).value; 
    insertArray.push(insert); 
}; 

o = JSON.stringify(insertArray); 

google.script.run.withSuccessHandler(successDisplay) 
    .mailroomDataEntry(o); 

} 

循環工作,因爲它應該,但功能似乎並沒有被超越進展循環的結束。沒有數據被傳回服務器端。

例如,如果我每一個循環的進行時間把window.alert(insertArray)裏面的for循環我得到預期的結果(即一個警告框,直到最後的盒子具有完整陣列。

但是,如果我把相同window.alert for循環的結束後,我什麼也沒得到任何警告框,在所有

+0

它拋出任何控制檯錯誤?你確定「長度」是你期望的值嗎? – samanime

+0

我開始說這個長度正是我所期待的,因爲它的長度是93,而且當前有93個項目......然後我意識到對於93個項目,我實際上需要92個長度值。將var length = parseInt(arrayLength)更改爲var length = parseInt(arrayLength)-1並完美工作。 非常感謝您的幫助。我確定這很簡單! –

+0

在你的變量定義下,在最後加上'try {'catch(e){console.log('有錯誤:'+ e.message)}'變量'insertArray'可能不是有效的JSON。但是,瞭解發生的事情的唯一方法就是進行一些調試。對於Chrome和Firefox,點擊f12鍵打開瀏覽器控制檯。 –

回答

0

感謝samanime我實現了可變length有不正確的值

更改:。

for (i = 0; i<=length; i++) 

for (i = 0; i<length; i++) 

和它工作得很好。謝謝samanime!

**按照Lars de Bruijn的評論進行編輯。謝謝Lars de Bruijn。