【发布时间】:2012-12-21 00:30:15
【问题描述】:
我有一个带有几个输入框的非常标准的 html 表单。我在每个文本框下都有一个小 div,当文本框具有焦点时显示方向(其余时间它们被隐藏)。 div 还可以更改颜色并显示错误消息。
我希望能够有一个 javascript 函数来显示焦点方向,一个函数来显示模糊错误,一个函数来隐藏方向/错误等。
我遇到的问题是如何最好地将文本框和它们各自的 div 关联起来。我使用了一个命名约定,我给文本框一个 ID,如field1,然后将它们的 div 称为field1Div。这工作正常,但有些事情告诉我有更好的方法来做到这一点。
什么是关联 div 和文本框的“正确”方式?
【问题讨论】:
-
您是否考虑过使用
label?for属性用于指向input元素,因此非常适合您的需求。 -
@FrankvanPuffelen 问题是我正在尝试动态显示指令,并且我还想显示错误消息。在这种情况下使用标签有什么好处吗?
-
有一个将
label与input元素相关联的书面语义,这似乎是您所要求的。一个标签可以包含所有所谓的内联元素(类似于您可以放入p的内容),因此只要您放入的内容属于该类别,它就可以工作。 -
@FrankvanPuffelen 这是有道理的;我并没有真正考虑过以这种方式使用标签。有没有一种方法可以轻松地将标签与其父元素相关联,例如我想得到这个文本框的标签,所以我调用方法 X
-
我不确定为此使用标签是否可取。 WCAG 2.0 Input Assistance 可能会有一些建议。
标签: javascript html forms