据我所知,有两种方法可以从文本框中获取值
document.formName.textboxName.value;
或
document.getElementbyId('textboxId').value;
据我所知,使用表单名称意味着我可以编写更少的代码,因为名称可以用于发布数据和获取值(除了使用ajax)。如果我只是使用标准表单发布,我会使用name
发布,但我不能使用id
?
e.g。在php我会用
$_POST['texboxName'];
如果我在文本框中有ID和ID,我无法使用php获取值?
这是标准的推荐方式,并使用name
浏览器友好?请尽可能链接,谢谢。
答案 0 :(得分:12)
最终指南是HTML specification。
突出的事情:
id
对任何HTML元素都有效,而name
仅适用于少数几个(a
,input
,textarea
以及其他几个)。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价值!