2011-04-06 63 views
0

我無法弄清楚這一點。爲什麼這會崩潰?我的警報語句清楚地告訴我,元素全部進入,但如果我將它們替換爲內部html行,它會在第一次迭代後停止。javascript while while inner html

while(i<6) 
     { 
     document.getElementById("cell-"+i).innerHTML = out[i] ; 
     i++ ; 
     } 

以下變化讓我發現,所有的元素進來,單元名稱正確構造:

while(i<6) 
     { 
     alert("cell-"+i) 
     alert(out[i]) 
     i++ ; 
     } 

[編輯]

從您的反饋確定判斷它不是一個語法或我希望可以很容易地修復循環建設問題。這裏有更多的背景:

我正在使用它來填充Ajax調用中解析數據的表。數據格式是JSON。這是一個小照片搜索引擎。如果我的第一個搜索是關鍵字可以發現表填充。如果我首先搜索一些亂碼(例如:dfadfasfad),則沒有檢索到任何結果(迄今爲止這麼好)。如果我然後搜索一個能夠檢索結果的單詞,整個事情就會崩潰。所以畢竟它是一個Ajax問題?對不起,代碼太長,以至於我不能在這裏發帖。如果我的問題響起,讓我知道。別擔心。

[EDIT2]

從螢火蟲:

document.getElementById(
display(out=["Colorful Drinks by the ...a0c1a.jpg"><br /><br />", "Peru-100526-473<br /><i...f7908.jpg"><br /><br />", "AR6E0549<br /><img src=...8bfea.jpg"><br /><br />", 3 more...])AjaxUpdater.js (line 128) 
onResponse()AjaxUpdater.js (line 65) 
[Break On This Error] document.getElementById("cell-"+i).innerHTML = out[i] ; 

[EDIT3]

好的,我越來越近。似乎innerHTML的分配修改頁面結構

enter image description here

enter image description here

+1

什麼是html,也許js不匹配,它卡住了? – Neal 2011-04-06 19:16:34

+0

請發佈完整的代碼。 「out [i]」中有什麼? – 2011-04-06 19:17:03

+0

你有沒有試過確保'document.getElementById(「cell - 」+ i)'正在返回你期待的結果? – 2011-04-06 19:17:40

回答

0

它是第一次運作,但如果你得到一個錯誤,然後再試一次,不是嗎?

但它打破這一行:

document.getElementById("cell-"+i).innerHTML = out[i] 

我要去猜測document.getElementById("cell-"+i)被返回null,因此調用的innerHTML它是給錯誤。你可以把它分成兩行來驗證。

我認爲出錯的是,當您顯示錯誤時,您將刪除單元格項目以顯示「未找到結果」消息。然後在另一個搜索上,你永遠不會把它們放回去。

你可以添加html代碼,表格看起來像什麼樣的成功以及它在失敗時看起來像什麼,然後再次嘗試?也許這會對這個問題有所瞭解。

+0

你指出我一個好方向。謝謝!看到我的編輯3 – raoulbia 2011-04-06 21:36:52

+0

@Baba - 我很高興你明白了! :) – Tyanna 2011-04-07 13:26:00

0

我的猜測是,你只需要找的ID不有效。您需要發佈初始化i的代碼(我們不知道它的起始值是什麼)以及您的html,以便我們可以查看是否存在具有該id的元素。

0

不確定究竟是什麼「整件事打破」的意思。你有沒有試過用螢火蟲調試?也許Ajax響應返回的內容比您期望的要少? while(i<6)編輯你的問題源代碼,很難知道你省略了什麼。

+0

HI daniellmb,看到編輯2 – raoulbia 2011-04-06 19:46:05

+0

很酷,所以你知道你得到一個錯誤,現在你只需要檢查我的價值和出,出[我],你就會知道什麼是錯的。 – daniellmb 2011-04-06 19:49:16

+0

以及警報聲明顯示我需要建立的所有單元格名稱以及所有內容逐一,這就是爲什麼我很吃驚它與內部html行分裂...奇怪 – raoulbia 2011-04-06 19:56:51