Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果您有一个名为“=”的表单,则JS document.getElementById不是函数;文件「;_Javascript_Forms_Variables - Fatal编程技术网

Javascript 如果您有一个名为“=”的表单,则JS document.getElementById不是函数;文件「;

Javascript 如果您有一个名为“=”的表单,则JS document.getElementById不是函数;文件「;,javascript,forms,variables,Javascript,Forms,Variables,我的网站有一个奇怪的问题。突然,在一个页面上,我发现JS错误document.getElementById不是一个函数。问题是我有一个带有name=“document”的表单 如果表单的属性nameset,则会在Javascript中设置一个同名的变量 我在哪里可以找到这个的规格?看起来你是对的。文档支持命名属性 @Andreas还指出了一个参考资料,其中提到: 6.3.3。对窗口对象的命名访问:“窗口界面支持命名属性。随时支持的属性名称由以下内容组成,按树顺序排列,忽略后面的重复项:。。。活动

我的网站有一个奇怪的问题。突然,在一个页面上,我发现JS错误
document.getElementById不是一个函数
。问题是我有一个带有
name=“document”
的表单

如果表单的属性
name
set,则会在Javascript中设置一个同名的变量


我在哪里可以找到这个的规格?

看起来你是对的。文档支持命名属性

@Andreas还指出了一个参考资料,其中提到:

6.3.3。对窗口对象的命名访问:“窗口界面支持命名属性。随时支持的属性名称由以下内容组成,按树顺序排列,忽略后面的重复项:。。。活动文档中具有非空名称内容属性的所有a、applet、area、embed、form、frameset、img和object元素的名称内容属性的值…–Andreas

看看这个:

文档接口支持命名属性。支持 文档对象的属性名称文档在任何时刻都由 下面是根据贡献的元素按树顺序排列的 它们,忽略以后的重复项,并使用id属性中的值 当同一元素 有助于:

所有小程序的“名称内容”属性的值, 表单、iframe、img和具有非空 名称内容属性和位于文档树中,文档为 它们的根

所有applet和exposed的id content属性的值 具有非空id内容属性且处于 以文档作为其根的文档树;以及

具有以下属性的所有img元素的id content属性的值 非空id内容属性和非空名称内容属性 属性和位于以文档为根的文档树中

要确定文档的命名属性名称的值,请 用户代理必须返回使用以下步骤获得的值:

让elements为命名元素的列表,其名称为 在以文档为根的文档树中

根据定义,至少会有一个这样的元素

如果元素只有一个元素,并且该元素是iframe 元素,并且该iframe元素的嵌套浏览上下文不是 null,然后返回元素的嵌套对象的WindowProxy对象 浏览上下文

否则,如果元素只有一个元素,则返回该元素

否则,返回以文档节点为根的HTMLCollection,其 筛选器仅匹配具有名称的命名元素

出于上述目的,使用名称命名元素 算法,是指:

小程序、公开嵌入、表单、iframe、img或公开对象元素 具有值为name的name-content属性或applet或 具有id内容属性且其值为 是名称,或具有id内容属性的img元素,其值为 是名称,并且存在非空名称内容属性 另外,如果嵌入或对象元素没有 公开的对象祖先,对于对象元素,是额外的 要么不显示其回退内容,要么没有对象或嵌入 后代


该行为在HTML 5规范的第节中定义:

子浏览上下文名称属性集由名称不是空字符串的任何名称组成,并省略重复项。 窗口界面。随时包含以下内容,在中,忽略以后的重复项:

  • 这个
  • 中具有非空名称内容属性的所有、、、和元素的名称内容属性的值
  • 具有非空id内容属性的中任何的id内容属性的值

在chrome上尝试过,无法重现错误,能否粘贴plunker?:“窗口界面支持命名属性。随时支持的属性名称由以下内容组成,按树顺序排列,忽略后面的重复项:。。。活动文档中具有非空名称内容属性的所有a、applet、area、embed、form、frameset、img和object元素的名称内容属性值。。。“@Andreas为什么不把你的评论作为答案?@arhak,因为我认为这是重复的,但我还没有找到。因此,我添加了规范的相关部分,直到找到副本或放弃搜索:)@aliasav打开浏览器控制台查看效果