2011-04-12 18 views
0

索引或大小爲負值或大於允許值「code:」1 [Break On This Error] return selector.options [selector.selectedIndex] .value; 第38行 我不斷收到錯誤,不知道爲什麼。這裏是js代碼索引或大小爲負值或大於允許值「code:」1 [Break On This Error] return selector.options [selector.selectedIndex] .value;

http://pastebin.com/H66NTvrU

這裏是我的模板代碼

 <form id="selector"> 
      <select id="book" onchange="initChapSelector();"></select> 
      <select id="chap" onchange="initPageSelector();"></select> 
      <select id="page" onchange="initDisplay();"></select> 
      <select id="scale" onchange="setScale(this.options[this.selectedIndex].value);"> 
       <option value="">Original Width</option> 
       <option value="100%">Page Width</option> 
       <option value="50%">Half Page</option> 
      </select> 
      <a href="javascript:void(0)" onclick="alert('Arrow up/down: scroll\nArrow left/right: prev/next page'); return false;">Help</a> 
     </form> 

點到編碼,所以如果上述任何錯了,請原諒我很新 這將是,如果有人好看可以幫助我,因爲我似乎一直坐在這裏年齡試圖解決這個問題,肯定有人會在幾秒鐘內發現錯誤哈哈...

非常感謝

回答

1

我複製你的代碼的jsfiddle,在這裏:http://jsfiddle.net/dMcyg/

改變的選擇列表值時,我得到一個錯誤的時候了「沒有定義setScale。」我可以看到它是這樣的,但腳本中有很多語法問題,所以我猜測有一個嚴重的解析問題,以致它永遠無法實現。

你有內部大括號內定義的函數,這是非法的。有很多缺少分號(儘管除IE以外的大多數瀏覽器都會讓這些分號通過)。

用jsLint通過它並首先修復所有的語法問題,然後看看你在哪裏。

哦 - jsLint抱怨說「接口是一個保留字」爲您的變量interface。我從來沒有聽說過Javascript中的「接口」關鍵字,所以我不確定這是什麼,但我改變了它,所以jsLint會繼續解析。

+0

哦,我的我從一個網站下載它。這是一個「免費漫畫」的觀衆。非法你說? 感謝您的回覆,但您所說的似乎有辦法爲我推進。 – VK27 2011-04-12 13:21:11

+1

「非法」我只是表示它不是有效的JavaScript。你不會被捕。它看起來像有一些錯誤,也許它是舊的,或不是爲了適應每個網頁瀏覽器。 – 2011-04-12 13:23:47

+0

啊對了。不管怎麼說,還是要謝謝你。只是希望在我開始使用之前知道這一點 – VK27 2011-04-12 13:35:25

相關問題