Проверка в наборе полей. Набор полей находится внутри формы и имеет входные данные вне

<form id="youtube-form" method="post" action="">

  <label for="searchField" id="label-youtube-id">YouTube ID:</label>
  <input type="text" id="searchField" name="videoid" class="search-field" />

  <fieldset id="outputFieldset">
    <legend>Output format:</legend>
        <label for="flv">FLV</label>
        <input type="radio" id="flv" name="format" class="radio-button" value="flv" />

        <label for="avi">AVI</label>
        <input type="radio" id="avi" name="format" class="radio-button" value="avi" />

        <label for="mp3">MP3</label>
        <input type="radio" id="mp3" name="format" class="radio-button" value="mp3" />
  </fieldset>

  <input id="youtube-submit" type="submit" name="submit" value="Submit" />

</form>

Что не так с этим кодом? Кажется, я получаю сообщение об ошибке при проверке. (их тоже трое)

Строка 21, столбец 49: тип документа не позволяет использовать здесь элемент «label»; отсутствует один из "ins", "del", "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "fieldset" начальный тег

Это потому, что мне нужно добавить больше наборов полей, или это что-то еще, что я сделал неправильно?

Любая помощь высоко ценится :)


person MindTooth    schedule 02.10.2009    source источник


Ответы (2)


Элементы input и label не допускаются в качестве дочерних элементов для form элементов.

ins, del, h1, h2, h3, h4, h5, h6, p, div, address, fieldset разрешены как дочерние элементы, а также могут иметь элементы input и label в качестве своих дочерних элементов (хотя большинство из них не подходят с семантической точки зрения).

person Quentin    schedule 02.10.2009
comment
Спасибо :) Теперь я понял проблему. Но почему вы видите так много руководств в Интернете, в которых полностью отсутствует набор полей? - person MindTooth; 02.10.2009
comment
Вводные данные и метки разрешены как дочерние элементы форм в переходных версиях HTML. Мы далеко прошли переходный период. - person Quentin; 02.10.2009

Ярлыки и входные данные должны быть внутри набора полей. Или создайте второй / третий набор файлов, чтобы заключить их отдельно.

eg:

<form id="youtube-form" method="post" action="">


 <fieldset id="youtube">
  <label for="searchField" id="label-youtube-id">YouTube ID:</label>
  <input type="text" id="searchField" name="videoid" class="search-field" />
 </fieldset>

  <fieldset id="outputFieldset">
    <legend>Output format:</legend>
        <label for="flv">FLV</label>
        <input type="radio" id="flv" name="format" class="radio-button" value="flv" />

        <label for="avi">AVI</label>
        <input type="radio" id="avi" name="format" class="radio-button" value="avi" />

        <label for="mp3">MP3</label>
        <input type="radio" id="mp3" name="format" class="radio-button" value="mp3" />
  </fieldset>

 <fieldset id="submit">
  <input id="youtube-submit" type="submit" name="submit" value="Submit" />
 </fieldset>
</form>
person Jon Hadley    schedule 02.10.2009
comment
Спасибо, что предоставили мне правильный код. Я извлек из этого урок. - person MindTooth; 02.10.2009