javascript名称与ID

时间:2010-10-14 18:18:46

标签: javascript xhtml standards

据我所知,有两种方法可以从文本框中获取值

document.formName.textboxName.value;

document.getElementbyId('textboxId').value;

据我所知,使用表单名称意味着我可以编写更少的代码,因为名称可以用于发布数据和获取值(除了使用ajax)。如果我只是使用标准表单发布,我会使用name发布,但我不能使用id

e.g。在php我会用

$_POST['texboxName']; 

如果我在文本框中有ID和ID,我无法使用php获取值?

这是标准的推荐方式,并使用name浏览器友好?请尽可能链接,谢谢。

5 个答案:

答案 0 :(得分:12)

最终指南是HTML specification

突出的事情:

  • id对任何HTML元素都有效,而name仅适用于少数几个(ainputtextarea以及其他几个)。
  • 如果您希望提交input(和textarea)元素,则需要 name

答案 1 :(得分:4)

在提交表单期间使用name属性,即创建将被处理到服务器的名称 - 值对。 id属性用于在DOM中定位和元素。通常,名称仅用于表单元素

参考文献:

http://www.w3.org/TR/html401/interact/forms.html
http://www.w3schools.com/html/html_forms.asp

答案 2 :(得分:1)

我通常使用两者。正如您所提到的,name对于通过JavaScript使用数据以及提交后的数据非常有用。您可以根据需要随意使用name中的其他字符:当输入将用于阵列服务器端时,我倾向于在我的名字中使用[]

id属性可用于通过JS / DOM访问元素。它也被<label>的{​​{1}}属性使用。例如,如果使用复选框执行此操作,则单击标签将导致选中此框。这对可用性来说是一个很大的优势。

答案 3 :(得分:1)

我认为每个表单元素都有一个名称 id是一个好习惯。原因是如果你想通过sytlesheets(你应该做的)添加标签或样式,那么两者都有意义。

至于使用javascript访问它:更好的方法是使用元素的id,因为如果你更改表单的名称,一切都会中断。使用id时不会发生这种情况。

答案 4 :(得分:1)

我更喜欢使用ID,因为你的代码的“函数”(即:你想要实现的东西)与语义无关。对我来说,.GetElementById('myid')更突出,并且更具可读性,只是在代码中散布了“myid”。另外,您可以更轻松地重命名元素。这是我的2p价值!