2017-07-11 153 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浏览器或别的东西。我还没有证实,该网站有更多的时间的分析。

相关问题