我是HTML的新手。这可能是非常基本的,但无论我做什么,我都无法让我的形式发挥作用。每当我单击输入字段(文本区域)时,只要我按住鼠标,输入字段就会保持选中状态,但每当我释放它时,焦点都会立即返回到表单的第一个字段。这是HTML / CSS吗?我不知道如何解决它。
这是我正在处理的表单的网址(http://www.seanmccully.com/apps/langham/tea.html) - 但现在可能已修复。您可以看到您无法选择名字,姓氏,城市,电子邮件(您只能通过标签输入数据)。
答案 0 :(得分:11)
这是因为您已将所有表单元素包装在一个label
元素中。摆脱它,它会工作正常。
label
元素只能与单个表单控件关联,单击label
会将焦点放在其关联的控件上。由于您在label
中有多个控件,因此它与第一个控件相关联,当点击事件向上传播时,点击任何其他表单控件都会到达标签并使其关注其关联控件(第一个)。
如果您想使用label
元素,则每个控件都需要一个元素。您可以将span
元素更改为label
元素,并使用for
属性将该标签与控件相关联,或者将每个控件包装在标签中:
<label class="labelstyle" for="fname">First Name</label>
<input name="fname" type="text" class="fieldstyle" id="fname" size="25" maxlength="50"/>
<!-- or -->
<label class="labelstyle">
First Name <input name="fname" type="text" class="fieldstyle" id="fname" size="25" maxlength="50"/>
</label>
答案 1 :(得分:1)
似乎我发现它出了问题:
你知道,你不应该把这个家伙放在任何地方。 你让他总是专注,而不是输入命名的文字家伙。 所以试着删除标签;你会看看它。