テーブル内のフォームについての問題と解決方法

このQ&Aのポイント
  • テーブル内にフォームを配置する際に、フォームを囲むHTML要素の位置によって改行が生じる問題があります。
  • テーブル内でフォームを配置する場合、<form>要素を<td>要素の内部に配置すると、勝手に改行されてしまう可能性があります。
  • 改行を避けるためには、テーブル内の<form>要素を<tr>要素の直下に配置することが有効です。
回答を見る
  • ベストアンサー

テーブルの中のフォームについて

テーブルの中にフォームを入れて使いたいのですが、次のようにフォームを入れると、勝手に改行されてしまいます。 <table> <tr> <td><form>.....</form></td> </tr> </table> または <form> <table> <tr> <td>.....</td> </tr> </table> </form> これが嫌で、次のようにしているのですが、何か問題や他に良い方法があるでしょうか? <table> <form> <tr> <td>.....</td> </tr> </form> </table> ちなみに、Dreamweaverのバリデータでは警告が出ます。 よろしくお願いします。

  • HTML
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 2NN
  • ベストアンサー率40% (143/353)
回答No.1

FORM { display:inline; } をスタイルシートに入れると改行されないかと思います。

iwaiwaiwa
質問者

お礼

ありがとうございます! 簡単でしたね…。でも知らなかったです。

その他の回答 (1)

  • partita
  • ベストアンサー率29% (125/427)
回答No.2

>勝手に改行されてしまいます 何が改行されるのでしょうか? フォームの前後に空行が発生するということでしょうか。 でしたら form {margin:0;padding:0;} でも追加してみてください。

関連するQ&A

  • テーブルの中にメールフォームを設置するには・・・

    現在、ホームページビルダー2001を使用していて、 テーブルの中にメールフォームをつけようとしているのですが、 フォームのタグは何処にいれたらいいのかわからなくて困っています。 プロバイダーはOCNでそちらのサポートページを見たら <FORM METHOD="post" ACTION="/cgi-bin/formmail.pl"> <INPUT TYPE="hidden" NAME="recipient" VALUE="???@???.ocn.ne.jp"> を1、2行目にいれるとあったのですが・・・ テーブルのタグは </table> <br> <CENTER> <table align="center" border=0> <tr> <td bgcolor="steelblue"> <table align="center" cellspacing=0 cellpadding=2 border=0> <tr> <TD bgcolor="aliceblue" align="center"><br> <table align="center"> <tr> <td>名前(ハンドル名可)</td> <td><input type="text">(全角)</td> </tr> </table> <br> <table align="center"> <tr> <td><input type="button" value="送信する"></td> </tr> </table> </TD> </tr> </table> </td> </tr> </table> </CENTER> <br> </BODY> </HTML> です(途中項目省略してます)が、これの何処に入れればいいのでしょうか。 また、試しにアップして、フォームに入力しようとしたら、英数半角しか 入力できないようになっていました(汗) これも、ダグに問題があるのでしょうか。

    • ベストアンサー
    • HTML
  • 中のテーブルにまで及ばせないようにする

    テーブルの中にテーブルがあり、 外のテーブルには .table tr .table td でclassを設定しており、 その影響を中のテーブルにまで及ばせないようにすることは可能でしょうか? <table class=css> <tr> <td> <table> <tr> <td> ここに外側のcssの影響を及ばせたくない </td> </tr> </table> </td> </tr> </table>

    • ベストアンサー
    • CSS
  • tableの中にtableを作ると上部によらない

    tableの中に更にtableを作りたいのですが、内側のtableが上のほうに配置されず真ん中に出てしまいます。valign=topを使ったのですがうまくいきません。何か方法はありますでしょうか? <table height=500>   <tr><td> ---------- ここと ------------ <table height=250> <tr><td></td></tr> <tr><td></td></tr> </table> ---------- ここにかなりスペースが出来てしまう(*_*) </tr></td> </table>

  • tableの中にtableを作ると、width指定が機能しない

    tableの中にtableを作り、中側にあるテーブルの列ごとにwidthを指定したいのですが、うまくいきません。ソースを書いてみます。 例: <table width=300> <tr><td> <table width=100> <tr><td>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td><tr> </table> </td><td> <table width=100> <tr><td>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</td><tr> </table> </td><td> <table width=100> <tr><td>ccccccccccccccccccccccccccccccccccc</td><tr> </table> </td></tr> </table> width=300のテーブルの中にwidth=100のテーブルが3つできたのはいいのですが、width=100のテーブルの中に100pxを超える文字列を入れると100pxという値を無視してテーブルが横長くなってしまいます。 これを100pxという値に従わせるにはどうしたらいいでしょうか?

    • ベストアンサー
    • HTML
  • tableの中にtableを作りスクロールさせたい。

    tableの中にtableを作りスクロールさせたい。 tableの中にtableを作りスクロールさせたいのですが、書きサンプルで思うようになりません。 table一つなら上手くいくのですが、どこが悪いでしょうか。 <html lang="ja"> <head> <title></title> </head> <body> <table border="1" width="100%"><tr><td></td></tr> <tr> <td > <div style="height:40%;width:100%;overflow-y:scroll;"> <table border=1 width="100%" bgcolor="#9999ff"> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> <tr><td>表示したいテーブル</td></tr> </table> </div> </td> </tr> </table> </body> </html>

    • ベストアンサー
    • HTML
  • フォームでテーブルの制御ってできる?

    例えば以下のようなテーブルがあるとします。 <html> <head> </head> <body> <table border> <tr><td rowspan="6">1</td> <td rowspan="3">2</td> <td>3</td></tr> <tr><td>4</td></tr> <tr><td>5</td></tr> <tr><td rowspan="2">6</td> <td>7</td></tr> <tr><td>8</td></tr> <tr><td>9</td><td>10</td></tr> </body> </html> フォームでこのrowspanの数値をいれるだけで このようなテーブルをつくるような手段はありますか? JavaScriptかHTMLでできる方法があれば教えてください。 また、テーブル部分の数値になっているところも テキストエリアで書き込めるようにしたいのですが、可能ですか?

    • ベストアンサー
    • HTML
  • テーブルからはみ出します

    下記の様な感じにテーブルを配置してその中に文章を入れています。 <table width="***"> <tr><td> あいうえおかきくけこさしすせそたちつてと・・・・・・ </td></tr> </table> winで見たら問題は無いのですが、マックのIEで見ると、 文字の部分がセルからはみ出して表示されます。 改行されないというわけではなく、セルからちょっとはみ出したところで改行されます。 セルの端まできた時に自動的に改行させるようにするには どのようにしたら良いでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • テーブルの隙間をなくす

    テーブルの中に作ったテーブルを一番上に配置したいのですが、どうすれば良いでしょうか?テーブルの下で改行すると上に行くのですが、それだとしたがあまります。 HTMLはこれです。よろしくお願いします。 <table width="800" border="0" cellspacing="0" cellpadding="0" height="600"> <tr> <td> <TABLE width="100%"> <TBODY> <TR> <TD width="241" height="2">  </TD> <TD width="511" align="right" valign="bottom" style="font-size : 8pt;" height="2"> </TD> </TR> </TBODY> </TABLE> </td> </tr> </table>

    • ベストアンサー
    • HTML
  • テーブルの中にテーブルを入れ込んで・・・

    最近、質問ばかりしてるような気がするのですが・・・ m(__)m 親テーブルのセルの中に子テーブルを入れ込んで 子テーブルを親テーブルのセルの縦位置を中央に表示させたいのですがうまく行きません NN6.Xでは表示されるのですがIEだと上寄せに 表示されてしまいます。 これはIEの仕様でしょうがないのでしょうか? (↑けしてダジャレではありません(^^ゞ) セル内配置でテキストや画像は上手く 中央位置に出来るのですが子テーブルが出来ないです なぜでしょうか? 参考のためにソースコードを --------------------------------- <table width="100%" border="1" height="100%"> <tr> <td align="center" valign="middle"> <table width="50%" border="1" height="50%"> <tr> <td> </td> </tr> </table> </td> </tr> </table> ------------------------------------- よろしくお願いします。 スタイルシートやjavascriptを使ったやりかた とかもあるのでしょうか?

    • ベストアンサー
    • HTML
  • テーブルの枠の中にテーブルを設置

    TOPページに下記のような大きな4等分の枠なしテーブルを作り、中にテーブルを埋め込みたいと思っています。 <TABLE border="0" width="700" height="500"> <TR> <TD>●1</TD> <td>●2</td></TR> <TR> <TD align="left" valign="bottom">◎1</TD> <td align="center" valign="middle"> <table bordercolordark="white" bordercolorlight="black" border="1" cellpadding="8" cellspacing="0" bgcolor="greenyellow"><tr><td align="center"> <table bordercolordark="white" bordercolorlight="black" border="1" cellpadding="4" cellspacing="0" bgcolor="#ccff99"><tr><td align="center"><font color="mediumseagreen">★ ★ ★</font> おしらせ <font color="mediumseagreen">★ ★ ★</font></td></tr> <tr><td bgcolor="white"> <textarea cols="28" rows="5"> ここに文字 </textarea> </td></tr></table> <br> <table bordercolordark="white" bordercolorlight="black" border="1" cellpadding="3" cellspacing="0" bgcolor="white"><tr><td bgcolor="white"> 最終更新 ≫ </td></tr></table> </td></tr></table> </TR> </TABLE> (HEADの間にスタイルシートを挿入します。) このように書くとテーブルを入れた場所の親テーブルが大きく広がってしまいます。 広がらずにテーブルを形成する方法をご教授下さい。 初心者で申し訳ございません。

    • ベストアンサー
    • HTML