JavaScript变量名称和HTML输入名称属性:名称空间冲突?

时间:2012-04-03 21:34:22

标签: javascript html dom

在HTML文件中,我有以下内容:

<input type="..." name="myInput1" />

在相应的JS文件中,我有以下变量,它将在blur:

之后保存该输入的字符串值
var myInput1;

这两个相同的名字有问题吗?我猜这些命名空间是独立的,所以没关系。

2 个答案:

答案 0 :(得分:2)

简短的回答,没有任何问题。

答案 1 :(得分:1)

简短的回答确实是否定的。但是,它也很大程度上取决于您如何使用变量。我们考虑使用javascript来验证变量的设置如下:

if(myInput1) {do something}

如果你还决定将id设置为与名称相同如下(因为你没有指定,它可以是任何东西):

<input type="myInput1" name="myInput1" />

您的变量myInput1将被设置为包含DOM元素,并且不再为空。

JS和HTML之间的这个链接不仅有趣,而且可以用来创建一个漏洞,如Postcards from the post-XSS world的3.1.2节所述(这是我从中得到的想法 - 是的,它仍然有效即使文章来自2011年。