テーブル内にformタグを設置すると行高が高くなる

[新着] Webテンプレートを仮オープンしました



0   名前: ひろみ : 2005/03/23 23:06
はじめまして。

テーブル内に隠しデータを送信するイメージボタンを設置したところ、
勝手に行高が広がってしまい、困っています。
<td>タグに高さ指定をしてみましたが、変わりません。
高さが縮まらないので、仕方なく、セル内上下中央に表示させようと<TD VALIGN="middle">としましたが、
上寄せになってしまいます。

【目的】
(1)テーブルで組んだメニュー内にcgiを実行するボタンを設置したい。
(2)その際、ユーザに見えないように、決まった文字列を引き渡したい。

【環境】
 WinXP/sp2 IE6

【サンプルソース】
<TABLE>
 <TR>
 <TD><a href="index.html">●index</a></TD>
 <TD><a href="home.html">●HOME</a></TD>
 <TD><a href="aaaa.html">●あああああ</a></TD>
 </TR>
 <TR>
 <TD VALIGN="middle" HEIGHT="19px">
  <form action=http://×××.cgi method=post target=_blank>
  <input TYPE="hidden" NAME="sub3" VALUE="test">
  <input type="image" src="×××.gif" name="submit" BORDER="0" height="19px" width="83px">
  </form></TD>
 <TD><a href="iii.html">●いいいい</a></TD>
 <TD><a href="uuu.html">●うううう</a></TD>
 </TR>
</TABLE>
※ちなみに、このテーブルの外にページ全体を囲むテーブルがあります。

 <a>タグにて、引数で文字列を渡すと、ステータスバーに表示されてしまうので、
目的(2)のために、formタグを使用しています。
普通に<a>でリンクした場合は、サイズどおりの行高になります。
 改行の抑制もしてみましたが、変化ありませんでした。


 なにか対策がありますでしょうか。
 ご教授いただければ幸いです。
 よろしくお願いいたします。 

1   名前: Newのり太 : 2005/03/23 23:46
テーブル内にフォームを入れるのではなく、
フォーム内にテーブルを入れるとか、
CSSでフォームのマージンを0pxにするなどすればいいのではないでしょうか。

2   名前: ひろみ : 2005/03/25 22:37
回答ありがとうございました。

marginで解決いたしました。
ボタンが左上ピッタリに表示されていたので、
marginについてまったく検討していませんでした。
もう少し多角的に考えられるようにしたいと思います。

ひとつ確認をさせていただきたいのですが、
 >フォーム内にテーブルを入れるとか
ということは、
<form>〜</form>の間に
<a>タグなど、他のアクションを起こすようなタグを入れても良い。
と理解してよろしいのでしょうか。
(こちらのログで、<table>タグを入れている例は見ていましたが、
レイアウト関連のタグだからOKなのだと思っていました。)

よろしくお願いします。

一覧へ戻る