0

私がサポートしているコードにいくつかのタイプミスを見つけて、それを無効なコードの面白い例としてローカル サイトに投稿したと思います。

なぜ誰かがこのコードを必要とするのでしょうか?

<table>
    <form>
        <tr>
            <td></td>
        </tr>
    </form>
    <form>
        <tr>
            <td></td>
        </tr>
    </form>
</table>

以下よりも良いのはいつですか?

<table>
    <tr>
        <td>
            <form></form>
        </td>
    </tr>
    <tr>
        <td>
            <form></form>
        </td>
    </tr>
</table>

またはこれ:

<form>
    <table>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td></td>
        </tr>
    </table>
</form>
<form>
    <table>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td></td>
        </tr>
    </table>
</form>

は JSFiddleで遊んだのですが、HTML の決定が見つからないので、それが理由かもしれません。

でもJavaScriptかCSSのほうがいいと思います。

4

2 に答える 2

6

そして、この無効な使用法が正しい場合もあると誰かが私に言いました。

定義上、無効なコードは正しくありません。

誰かがこのコードを必要とする理由を教えてください。

行ごとに単一のセルを使用しますか? 正当な理由は半分もありません。表形式のデータではないため、そもそもそこにテーブルがあるべきではありません。

行ごとに複数のセルがある場合は、行ごとにフォームを作成できると便利です (「このエントリを編集」するため)。ただし、各入力に一意の名前を付けて、クリックされた送信ボタンに基づいて処理する行を決定できるため、必須ではありません (クリックされた送信ボタンのみが成功し、その名前/値のペアが送信されるため)。サーバーに)。

于 2011-04-18T19:25:27.217 に答える
5

これは、テーブルベースの UI 配置を使用して、2 つのフォーム要素を互いに配置する方法です。CSS がブラウザーで広くサポートされる前は、非常に一般的でした。

今日では、好みのマークアップを使用して CSS でそれを行うことができます。

于 2011-04-18T19:24:17.830 に答える