使用<label> </label>避免重复

时间:2011-06-21 07:23:24

标签: forms html5 dry code-duplication

当我编写表格时,我发现自己正在做一些非常重复的打字。例如,如果我在表格中排列了多个<input>,我可能会写

<tr>
  <td><label for="repeat">Repeat:</label></td>
  <td><input id="repeat" name="repeat"></td>
</tr>

GET / PUT表单提交需要第三个"repeat",第一个和第三个相互关联,第三个是DOM访问,第二个是(人类)读者。

如果我避免排列各种输入,那么第一次输入就会消失:

<p><label>Repeat: <input id="repeat" name="repeat"></label></p>

但通常我会被要求让他们排队。

一般来说,我认为代码(DRY)中的重复是一件坏事,所以即使是很小的,我想我也会想看看是否有更好的方法。就目前而言,我有四个拼写错误的机会,其中三个是面向用户的,另外两个如果输入错误会导致程序性问题。

2 个答案:

答案 0 :(得分:1)

如何使用CSS(宽度或其他)排队并继续使用代码而不是表格和tds。

答案 1 :(得分:0)

嗯,显然你对html的冗长是正确的,它并不总是符合DRY原则。下一次重复发生在处理表单的服务器端代码中。但是,正确地说,这些“重复”中的每一个都有其自身的含义,并且可以包含不同的字符串。

通常我会尝试将DRY提升到更高的水平,不是手工编写html表单,而是使用自动生成html表单的Web框架(在我的情况下为Django)。这使我的问题对我来说不成问题。