2011-04-11 53 views
0

我有這樣的代碼在這裏:的Javascript沒有運行

var Questions=[] 
Questions[0]=["What is the answer?",["A","B","C","D"],3] 
Questions[1]=["What is the answer?",["A","B","C","D"],3] 
Questions[2]=["What is the answer?",["A","B","C","D"],3] 
Questions[3]=["What is the answer?",["A","B","C","D"],3] 

function createQuestions(id) { 
    var tReturn="<form>" 
    tReturn=tReturn+"<b>Questions "+id+":</b>" 

    tReturn=tReturn+"</form>" 
    return tReturn; 
} 

for (i=0;i<4;i++) { 
    var elem=document.getElementById('quiz_section') 
    var func=createQuestion(i) 
    elem.innerHTML=elem.innerHTML+func+"<br />" 
} 

我剛剛使用JavaScript開始。我知道在這裏肯定有語法錯誤,但我找不到它。實際上,在主文檔中有一個ID爲「quiz_selection」的DIV。

我無法訪問任何類型的調試器,因爲我在學校,幾乎所有的東西都被阻塞了。

如果可以的話,謝謝!

+0

用分號';'結束行是一個好習慣,但這不是語法錯誤的情況。 – pimvdb 2011-04-11 18:03:46

回答

4

您的功能被命名爲createQuestions,但您將其稱爲createQuestion。否則,語法看起來很好。

此外,如果此代碼立即嵌入到您的頁面中,它可能無法正常工作,因爲執行for循環時文檔不會完全存在;因此quiz_section div將不存在。

附上你的循環的功能,像這樣:

function initializeQuiz() { 
    for (i=0;i<4;i++) { 
     var elem=document.getElementById('quiz_section') 
     var func=createQuestions(i) 
     elem.innerHTML=elem.innerHTML+func+"<br />" 
    } 
} 

,加入一個onload='javascript:initializeQuiz()'屬性您<BODY>標籤。

+0

哦,謝謝!我以爲我再檢查一下! - EDIT:實際上,這樣做後,它仍然無法運行。 – FreeSnow 2011-04-11 18:02:41

+0

你能更具體地瞭解你的結果嗎? – 2011-04-11 18:06:29

+0

沒有結果,沒有任何反應。沒有任何代碼運行。我試圖插入「警報」作爲一種方式來判斷它打破了什麼點,但沒有一個顯示... – FreeSnow 2011-04-11 18:08:06

3

您定義createQuestions(),然而您打電話給createQuestion(),這自然會拋出ReferenceError

也請在每行之後使用分號。 (良好做法)

2

createQuestion應該createQuestions

1

你可以調整您的問題聲明:

var Questions = [ 
    { Question: "What is the answer?", Values: ["A", "B", "C", "D"], Answer: 3 }, 
    { Question: "What is the answer?", Values: ["A", "B", "C", "D"], Answer: 3 }, 
    { Question: "What is the answer?", Values: ["A", "B", "C", "D"], Answer: 3 }, 
    { Question: "What is the answer?", Values: ["A", "B", "C", "D"], Answer: 3 } 
]; 

這樣,您就可以訪問每個項目作爲一個對象:

var question = Questions[0]; 
// question.Question 
// question.Values 
// question.Answer 
+0

我不知道你能做到這一點。謝謝:)爲你點:) – FreeSnow 2011-04-11 18:11:50

+0

在這種情況下{}的含義是什麼? – FreeSnow 2011-04-11 18:14:48

+1

'{'和'}'大括號定義了一個javascript對象。你應該看看Javascript Object Notation(JSON) – 2011-04-11 18:15:38