Как избежать повторения с <label> - PullRequest
1 голос
/ 21 июня 2011

Когда я кодирую форму, я обнаруживаю, что выполняю очень многократную печать.Например, если я выстраиваю число <input> в таблице, я мог бы написать

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

, где третий "repeat" необходим для отправки формы GET / PUT, первый итретьи связаны друг с другом, третий - для доступа к DOM, а второй - для (человеческого) читателя.

Если я избегу выстраивания различных входов, необходимость в первом исчезает:

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

но обычно меня просят выстроить их в линию.

Вообще, я считаю дублирование в коде (DRY) плохой вещью, поэтому даже незначительным, как я думалЯ бы спросил, есть ли лучший способ.В настоящее время у меня есть четыре возможности для опечаток, три из которых ориентированы на пользователя, и две, которые могут привести к программным проблемам в случае опечатки.

Ответы [ 2 ]

1 голос
/ 21 июня 2011

Как насчет выравнивания с использованием CSS (ширина или что-то) и продолжайте использовать ваш код вместо таблиц и тд.

0 голосов
/ 21 июня 2011

Что ж, очевидно, вы правы в отношении многословности html, которая не всегда соответствует принципу DRY. И следующее повторение происходит в коде на стороне сервера, который обрабатывает форму. Но, как вы правильно сказали, каждое из этих «повторений» имеет свое значение и может также содержать разные строки.

Обычно я пытаюсь поднять DRY на более высокий уровень, не кодируя HTML-формы вручную, а используя веб-фреймворк (в моем случае Django ), который автоматически генерирует HTML-форму. Это делает ваш вопрос для меня не проблемой.

...