我一直在使用formtastic来在 Rails 应用程序上生成 HTML 表单。但是,我的问题确实与 HTML 相关。
:boolean
今天,我在 formtastic 生成复选框( formtastic 术语上的类型字段)的方式上发现了一种奇怪的行为。
其余字段(非复选框)以这种方式生成:
<li>
<label for="my_textbox_field">My TextBox</label>
<input id="my_textbox_field" type="text" ... >
</li>
然而,复选框<label>
完全包含在它们的标签内——像这样:
<li>
<label for="my_boolean_field">
<input id="my_boolean_field" type="checkbox" ... >
This is my boolean field
</label>
</li>
Formtastic 哲学似乎是基于Learning to Love Forms演示文稿。实际上,在该演示文稿的幻灯片 36 上,建议将这种结构用于复选框。我猜在演示文稿本身中,演示者解释了为什么这样做,但它没有写在幻灯片上。
谁能告诉我为什么将复选框包含在<label>
标签内可能是个好主意,而不是像文本框一样将它们放在外面?