2017-07-11 131 views
0

我在我的新工作中維護了許多舊網站和CMS系統,並遇到了一個問題。在ASP網站使用JavaScript和這條線停止工作今天(或略早於今天):「document.forms is not a function」with「document.forms(0)」

document.forms(0) 

控制檯將報告Uncaught TypeError: document.forms is not a function。谷歌搜索後,我發現我可以將其替換爲:

document.forms[0] 

,並不斷前進,但是,這個網站和文件,與此參考散落。

任何人都可以找到解釋可能發生的事情嗎? Chrome瀏覽器,IE瀏覽器和Firefox無法使用,瀏覽器或JavaScript有更新嗎?我在搜索中似乎找不到document.forms(0)。奇。

+0

我不認爲任何其他瀏覽器曾支持。 – Bergi

+1

如果ASP網站只能在IE中使用,那麼我可以看到他們爲什麼會這樣做。否則,方括號是正確的,括號是錯誤的。 Chrome/Firefox等不會解決這個問題 - 括號用於函數調用,而不是數組訪問。 –

+0

你可能想把你的編輯[作爲答案](https://stackoverflow.com/help/self-answer) – Bergi

回答

1

我會後,我有迄今又像意見提了答案,這是不是所有的瀏覽器標準,它將在IE瀏覽器,但一般沒有別的:

document.forms(0) //IE only 

這是正確的方法:

document.forms[0] //All browsers (including IE) 

我能找到一文(Mozilla開發網絡)引用圓括弧(link)說,document.forms(0)IE-specific ways to access elementsdocument.forms[0]W3C web standards replacements

爲了確認,我做了一些測試與和發現的IE所有版本都工作,沒有別的工作,除了15 Chrome版本16(即BrowserStack都有自己的XP系統前兩個版本)。

使用下面的代碼或您的網站將只兼容IE:document.forms[0]

也許我的客戶端總是使用IE瀏覽器,只是切換到Chrome瀏覽器或別的東西。我還沒有證實,該網站有更多的時間的分析。

相關問題