1. ホーム
  2. ハイパーリンク

[解決済み】テーブルの中のフォーム

2022-04-16 08:10:08

質問

HTMLテーブルの中に、新しい行を追加したり、現在の行を更新したりするためのフォームをいくつか入れています。問題は、開発ツールでフォームを検査すると、フォームの要素が開いた直後に閉じられていることです(入力などはフォームに含まれません)。

そのため、フォームを送信しても、フィールドを含めることができません。

テーブルの行と入力は次のとおりです。

<tr>
    <form method="post" action="">
        <td>
            <input type="text" name="job_num">
        </td>

        <td>
            <input type="text" name="desc">
        </td>
    </form>
</tr>

何かお手伝いいただけると助かります、ありがとうございます。

解決方法は?

フォームが 不可 の子要素とする。 table , tbody または tr . そこにフォームを置こうとすると、ブラウザはそこにフォームを移動させる傾向があります。 の後に テーブルの内容(テーブルの行、テーブルのセル、入力など)を残したまま)。

フォームの中に表全体を入れることができます。表セルの中にフォームを入れることができます。フォームの中にテーブルの一部を入れることはできません。

表全体を一つのフォームで囲む。そして、クリックされた送信ボタンを使って、どの行を処理するかを決定するか(素早く処理するため)、すべての行を処理するか(一括更新を可能にするため)、どちらかにします。

HTML5では form 属性 . これにより、1つの行に1つのフォームを提供することができます テーブルの外側 を使用して、ある行のすべてのフォームコントロールをフォームのひとつに関連付けます。 id .