Этот HTML действителен? - PullRequest
       4

Этот HTML действителен?

2 голосов
/ 25 августа 2011

Содержит ли этот код что-либо недопустимое. У меня есть форма со столом внутри. Это хорошо?

<form name="myForm" id="myForm">
    <table id="myTab">
        <tr>
            <td>
                <label for="id">User ID:</label>
                <input type="text" id="id" />
            </td>
        </tr>
        <tr>
            <td>
                <label for="pass">Password:</label>
                <input type="password" id="pass" name="pass" />
            </td>
            <td>
                <button type="button" class="submit">Submit</button>
            </td>
        </tr>
        <tr><td><input type="reset" /></td></tr>
    </table>
    <div class="error"></div><div class="correct"></div>
</form>

Для результата - http://jsfiddle.net/mBwAh/

Ответы [ 4 ]

2 голосов
/ 25 августа 2011
<form name="myForm" id="myForm">
    <table id="myTab">
        <tr>
            <td colspan="2">
                <label for="id">User ID:</label>
                <input type="text" id="id" />
            </td>
        </tr>
        <tr>
            <td>
                <label for="pass">Password:</label>
                <input type="password" id="pass" name="pass" />
            </td>
            <td colspan="2">
                <button type="button" class="submit">Submit</button>
            </td>
        </tr>
        <tr><td colspan="2"><input type="reset" /></td></tr>
    </table>
    <div class="error"></div><div class="correct"></div>
</form>

Некоторые colspan s отсутствовали.

Вы можете проверить код на правильность HTML5 здесь: http://validator.w3.org/#validate_by_input

2 голосов
/ 25 августа 2011

A <form> может содержать текст и разметку (абзацы, списки и т. Д.), В списке нет ограничений на то, что он может содержать.Вот спецификация W3C, которая гласит:

http://www.w3.org/TR/html4/interact/forms.html#h-17.3

Что касается использования <table>, то это совершенно правильный HTML, фактически элемент <table> находится в спецификации HTML5Вот спецификации W3C для этого:

http://www.w3.org/TR/html5/tabular-data.html#the-table-element

Вы также захотите добавить colspan к вашему <tr>, который содержит только один <td>. Вы также должны добавитьname атрибут вашего <input>, поскольку он не будет ничего делать при отправке без него.

<input type="text" id="id" name="id" />
2 голосов
/ 25 августа 2011

Вы не говорите, в чем проблема, но одна вещь, которая бросается в глаза, это то, что у вас есть различное число td с в строке без colspan, чтобы выровнять их.

<tr>
 <td colspan="2">  <--- makes column span across three columns in the other rows
1 голос
/ 25 августа 2011

Это может быть "Действительный", но вы используете структуру таблицы для макета, что не очень хорошая идея.Если возможно, вы должны изменить свою структуру на что-то вроде этого.

<form name="myForm" id="myForm">
    <label for="id">User ID:</label>
    <input type="text" id="id" /><br />
    <label for="pass">Password:</label>
    <input type="password" id="pass" name="pass" /><br />
    <button type="button" class="submit">Submit</button><br />
    <input type="reset" /><br />
    <div class="error"></div><div class="correct"></div>
</form>

Надеюсь, эта помощь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...