人に聞けない痔の悩み、これでスッキリ >>

tableタグとformタグの組み合わせでどのように記述すれば、構文上正しいのでしょうか?
私は下のパターンで書いておりますが、間違いでしたら早めに改めたいので
お聞きしました。

<table>
<form>
<input type="hidden" name="a" value="1">
<tr>
<td>
<input type="text" name="b" value="">
</td>
</tr>
<tr>
<td>
<input type="submit" value="OK" value="">
</td>
</tr>
</fomr>
</table>

A 回答 (2件)

恐らく、<form>タグを入れると1行分の隙間ができるのでそのように記述しているのでしょう。

私も4年ほど前に何かの雑誌でそのように記述しましょう、を確かに見ました。W3Cの理論を無視すれば別に表示するのだから構わないとも思います。
しかし、私の場合、今は、前者様の回答のように<table>の外に記述します。そして、スタイルシートで
<form style="margin:0px;">
とすれば、隙間が無くなります。
    • good
    • 3

まず、<table>タグの直下には<form>タグは置けません。

<form>タグを外側にするのが自然でしょう。
それから、
<input type="submit" value="OK" value="">
のように value が二つあります。
それから、ミスタイプだと思われますが
</fomr>
となっています。というわけで

<form>
<input type="hidden" name="a" value="1">
<table>
<tr>
<td>
<input type="text" name="b" value="">
</td>
</tr>
<tr>
<td>
<input type="submit" value="OK">
</td>
</tr>
</table>
</form>

となると思います。
もっといえば、<tbody>入れたほうがいいとかありますが無視してもいいですね。というより入れてるところあまり見かけないけど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

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

よろしくおねがいします。
dreamweaverで、テーブル(例えば5×5等)を組み、その一つのセルの中に、フォーム(買い物かごcgiへのボタンです)を設置したところ、作ったフォームの下に余計な余白が出来てしまいます。
1段で行きたいのですが、2段分に縦にセルが広がってしまいました。<br>もなにも入れてないのですが…。
なにか思い当たることのある方、よろしくおねがいします。

Aベストアンサー

ブラウザの仕様かHTMLの仕様により、フォームの下にmarginが作られますので、
スタイルシートで

form { margin:0px; }

を指定してください。

<table>と<tr>の間や、<tr>と<td>の間に<form>を入れる方法は、
スタイルシートが定義される以前はよく使われていた(よく使われている)書き方と思いますが、
厳密にはHTMLの文法に違反します。


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

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

のいずれかで記述して、スタイルシートで見栄えを整えることをおすすめします。(<tbody>タグは省略しています)

Qリンクをクリックした時にformからPOST送信したい。

HTML、PHP、JavaScript等でサイトを作っているのですが・・・。

【実現出来ている例】
<form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">
 <input type="submit" value="送信">
</form>
 submitボタンを一つ置いて、それがクリックされた場合に
formの内容をPOSTで送信する。

【実現したい例】
<form name="form1 method="post">
 <a href="Next.php" onClick="???">???</a>
</form>
 formの中のリンクをクリックされた場合に、formの内容を
POSTで送信したいのですが、その実現方法がわかりません。
GETで送るという手もあり得ますが、今回はどうしてもPOST
したいのですが。

Aベストアンサー

<form name="form1" method="post" action="Next.php">
<a href="#" onClick="document.form1.submit();">???</a>
</form>

onclick内の対象がform1としてあてているので、
アンカータグは別にform内に記述しなくても大丈夫です

form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます

アンカータグから動的にvalueを変更したい場合は、
document.form1.hogename.value = 'hoge';
等をsubmit()の前に行えば可能です

ただしform内に
<input type="hidden" name="hogename" value="">
を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい

Qhtmlでテーブル内にテキストボックスを作りたいのですが・・・

教えてください。

2行のテーブルを作ろうとしています。
1行目が項目で
2行目が入力できるようにしたいです。

入力できるようにしたいので
テーブル内にテキストボックスを作ったのですが
どうしてもテーブルを作る囲い線と
テキストボックスの右側の間に余白ができてしまいます。

テキストボックスの下にできる余白は
<form>
<table>
</table>
</form>
という感じで、テーブルをフォームで囲むことで
無くすことができました。

HTMLでこの余白を消せる方法がありましたら
ぜひ、教えてください。
よろしくお願いしますm(__)m

Aベストアンサー

ANo.1です。
「1行目が項目で2行目が入力」という事は、tableの構成は正しくはこうでしたね。

(省略)
<tr>
<th>項目名</th>
</tr>
<tr>
<td><input type="text" size="50" maxlength="100" name="hoge01" value=""></td>
</tr>
(省略)

失礼しました。でも、この結果でも同じですよ。

ただし…仮に、「項目名」に相当するデータのボリュームが、2行目の入力フィールドの長さより相対的に長くなってしまえば、当然余白はできますが。
そういう問題ではないですよね?

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">

Qボタンを横に並べて表示させる方法

<input type="button"> ←このボタンを、並べて表示させるにはどうしたら良いでしょうか? (tableは使わない方法で) よろしくお願いいたします

Aベストアンサー

ソースをください。

inputはインライン要素なので改行は入らないです。

Qtableタグ内のformの扱いについて

ホームページを修正していてブラウザによって表示が違うので、その対処方法を知りたくて質問します。

知りたいことはブラウザによって極端にテーブルが崩れてしまうので、修正しているのですがあまりにも量が多くて処理に時間がかかるため・・・私の事情なので割愛します。

要件は
firefox16では正常に表示されるのですが、ie8で表示すると崩れてしまいます。
その他サファリ、クロームでも確認しましたが、理想通り表示されます。

http://android-style.sakura.ne.jp/help_test/contact.html

検索していろいろ調べてみましたが、tableの中にformを入れないようにすると言うアドバイス以外ありません。。。
なにかいい対処方法やアドバイスお願いします。



よろしくお願いします。

Aベストアンサー

>ごめんなさい「あまりにも量が多い」と言うのは「引き継いだ量が多いのでと・・・」
 そうなんですか??
 私は、それが仕事なので、確かに他人の書いた糞--失礼---を直すのは大変です。

 結局、私が示ししたように、コツコツ地道に直していくしかありません。修正方法は、サンプルを参考にしてください。そして、二つを提示してその作業が以下に大変かを理解してもらうしかありませんね。

 ただ、ごらんのようにHTMLもスタイルシートも数分の一、データ転送量は数十分の一になります。
 私は対価を頂くのですが、やはり苦痛です。・・そうでないとしたら投げ出したくなりますよね。重要なところから徐々に直しましょう。
 ⇒Another HTML-lint 5( http://www.htmllint.net/html-lint/htmllint.html )
の[DATA]タブを使うと楽ですよ。あまりにエラーが多ければ、とりあえず
The W3C Markup Validation Service( http://validator.w3.org/#validate_by_input )
やfirefoxのHTML Validator( https://addons.mozilla.jp/firefox/details/249 )を使って、重要なものだけでも

>ごめんなさい「あまりにも量が多い」と言うのは「引き継いだ量が多いのでと・・・」
 そうなんですか??
 私は、それが仕事なので、確かに他人の書いた糞--失礼---を直すのは大変です。

 結局、私が示ししたように、コツコツ地道に直していくしかありません。修正方法は、サンプルを参考にしてください。そして、二つを提示してその作業が以下に大変かを理解してもらうしかありませんね。

 ただ、ごらんのようにHTMLもスタイルシートも数分の一、データ転送量は数十分の一になります。
 私は対価を頂く...続きを読む

QリンクでPOSTデータを送信することは可能ですか?

はじめまして。
Submitボタンを使用せずに<A>リンクでFORMのPOSTメソッドデータを送信することは可能でしょうか?
やはりURLにデータを付加して送信するしかないのでしょうか?
ご教授よろしくお願い致します。

Aベストアンサー

javascript を使えば可能です。大雑把にはこんな感じ。

・パラメータが全部 hidden な form を記述しておく(ブラウザでは表示されない)
・<a href> では、その form を submit するように javascript を記述する

試してないですけど、こんな感じ。

<form name=f method=POST action="http://どこか">
<input type=hidden name=x1 value=v1>
</form>

<a href="javascript:document.f.submit()">リンクから submit</a>

Q複数のボタンを等間隔に、かつ中央に配置する

ホームページで、ボタンを横に3つ等間隔に、適度な余白をもって並べ、
さらにその3つがちょうどページの中央に表示されるようにしたいです。
cssをどのように記述すればいいですか?
↓下記のようなイメージにしたいです。

--------------------
--------------------
    □ □ □  ←これがボタンです


↓htmlファイルです↓
<div class="button">
<input type="submit" value="<< 戻る <<" />
</div>

<div class="button">
<input type="submit" value="選択リセット" />
</div>

<div class="button">
<input type="submit" value=">> 進 む>>" />
</div>

↓CSSファイルです↓
div.button {
padding-right:35px;
float:left;
}

上記設定で、ボタンの左右間隔はいい感じにあいたのですが
全体的に左に寄ってしまってます。

よろしくお願いいたします。

ホームページで、ボタンを横に3つ等間隔に、適度な余白をもって並べ、
さらにその3つがちょうどページの中央に表示されるようにしたいです。
cssをどのように記述すればいいですか?
↓下記のようなイメージにしたいです。

--------------------
--------------------
    □ □ □  ←これがボタンです


↓htmlファイルです↓
<div class="button">
<input type="submit" value="<< 戻る <<" />
</div>

<div class="button">
<input type="submit" value="選択リセット" />
</div>

<div class="button...続きを読む

Aベストアンサー

<div class="button">
<input type="submit" value="<< 戻る <<" />
<input type="submit" value="選択リセット" />
<input type="submit" value=">> 進 む>>" />
</div>

div.button {
text-align:center;
}
div.button input {
margin: 0px 20px;
}

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

Qテーブル内の文字サイズを変更したい。

HTMLのテーブル内の文字サイズを変更したいのですが。
イマイチ上手くいかずに悩んでいます。
出来れば全体的に<TABLE></TABLE>のほうでいじれますか?
<TD>タグや<TR>タグのところでいじくるのですか?

Aベストアンサー

いろいろやり方はありますが
文字単位でサイズを変更するには
#2の方法ですね。

テーブルごとやセル(<TD>)ごとにサイズを変更するには
スタイルシート(CSS)を使用します。

テーブルごとにサイズを変更する場合
<TABLE style="font-size : 20px;">

セル(<TD>)ごとにサイズを変更する場合
<TD style="font-size : 20px;">あああ</TD>

#1の方法だとページ内の全てのセル(<TD>)に設定することになります。

スタイルシート(CSS)はこれら以外にも
いろいろな設定方法があります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング