新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > スレッド内全記事表示 (記事 2081 からのスレッド)

スレッド内全記事表示 (記事 2081 からのスレッド)

[2081] tableの中にformを複数置きたい

いとちゃん (2004年7月5日 11時36分)

<form>がブロックを要求することは分かっています。

ですが、table要素全体をformでくくりたくないとき(たとえば2つ以上のformを広い表に入れたい時)tbodyやtrやtdとの位置関係はどうなりますか?

いちおう、Mozillaの標準モードとIE5.5とOpera7.50b3で、

<table><tr><td>1-1</td> <form> <td>1-2</td></tr>

<tr><td>2-1</td> </form> <td>2-2</td></tr> </table>

の1-2と2-1の両方が拾えることは(実装は)確認しました。

[2083] Re: tableの中にformを複数置きたい

のぐー (2004年7月5日 14時25分)

ブロックとかインラインとかいう以前に、要素の入れ子関係がむちゃくちゃなような気がしますが。

たとえば

<b>1<i>2</b>3</i>

のようなマークアップは正しいでしょうか?

IEやNetscapeはこれを「作者の意図どおりに」表示するかもしれませんが、それは単にエラー処理がそうなっているだけのような気がします。ちなみに私の自作ブラウザでは、</b>が出てきた時点でi要素も

終わったものと判断し、後の</i>は無視します。

[2085] Re: tableの中にformを複数置きたい

(2004年7月5日 18時6分)

><form>がブロックを要求することは分かっています。

あまり勝手に用語を作るのは悪いと思います。

formはブロック要素であり、ブロック要素しかもてないといいましょう。

><table><tr><td>1-1</td> <form> <td>1-2</td></tr>

> <tr><td>2-1</td> </form> <td>2-2</td></tr> </table>

リストを使いましょう。

見た目はスタイルシート(CSS)でつけましょう。(たとえば"2-1"とか)

そして、含みたくないのなら別の意味があると思われるので、二つに分けましょう。

<form>

<ol>

<li>

<ol>

<li>項目(1-1)</li>

<li>項目(1-2)</li>

</ol>

</li>

<li>

<ol>

<li>項目(2-1)</li>

<li>項目(2-2)</li>

</ol>

</li>

</ol>

</form>

>Mozillaの標準モードと

Mozillaは互換モードになっているはずです。

物凄いinvalidなHTMLです。

SGMLだと、構文が複雑すぎてエラーが出せませんが、それは明らかなエラーです。

XMLベースのXHTMLに移行してみると構文エラーが分かって良いと思います。

#とりあえず、問題のuriを教えてください。

[2086] Re: tableの中にformを複数置きたい

ばけら (2004年7月5日 18時23分)

>ですが、table要素全体をformでくくりたくないとき(たとえば2つ以上のformを広い表に入れたい時)tbodyやtrやtdとの位置関係はどうなりますか?

 残念ですが、はっきり言ってどうにもなりません。form 要素を td 要素あるいは th 要素の中に入れることは可能ですが、複数セルを一つの form 要素に入れることはできません (もちろん table 全体を一つの form に入れることはできます)。

 受け側の実装を何とかすることができれば、受け側で何とかするのがベターでしょう。

 ……ちなみに、XForms だと可能なのですよね。この辺が分かりやすいと思いますが。

http://www.w3.org/MarkUp/Forms/2003/xforms-for-html-authors,lang=ja#MorethanOneForminaDocument

[2090] Re: tableの中にformを複数置きたい

いとちゃん (2004年7月5日 20時13分)

> formはブロック要素であり、ブロック要素しかもてないといいま

> しょう。

formはブロック要素のみをもつことはわかっています。

> 物凄いinvalidなHTMLです。

> ちなみに私の自作ブラウザでは、

はい、当然だと思います。

> Mozillaは互換モードになっているはずです。

通ればいいというものではないのはわかってはいるんですが、

なぜ通るかも知りたかったので。モードはなぜか標準でした。

> 残念ですが、はっきり言ってどうにもなりません。

別の形式で確認したいのですが(まだよくわかってない)

<table><form><tr><td>1-1</td><td>1-2</td></tr></form>

<tr><td>2-1</td><td>2-2</td></tr></table>

は、OKでしょうか?

これがだめなら<form>をtableの外に出して、tableをいくつも並べます。

[2091] Re: tableの中にformを複数置きたい

(2004年7月5日 22時4分)

>モードはなぜか標準でした。

何故でしょうか…

互換モードになりそうなのに…

とりあえずテストファイルでもいいのでupしてください。

そうすれば修正しやすくなるので。

>別の形式で確認したいのですが(まだよくわかってない)

><table><form><tr><td>1-1</td><td>1-2</td></tr></form>

> <tr><td>2-1</td><td>2-2</td></tr></table>

>は、OKでしょうか?

だめです。

仕様書を読んでみてください。

>これがだめなら<form>をtableの外に出して、tableをいくつも並べます。

tableは使わない方が良いです。

tableは表という意味で使わないといけません。

一覧はリストを使いましょう。

[2093] テストファイル確認してください。

いとちゃん (2004年7月5日 23時37分)

>>別の形式(略)

>だめです。仕様書を読んでみてください。

はい。

>>これがだめなら<form>をtableの外に出して、tableをいくつも並べます。

>tableは使わない方が良いです。

>tableは表という意味で使わないといけません。

>一覧はリストを使いましょう。

計算表をつくろうとしていました。(製作中)

縦に属性と横で項目があって、計算結果がもろもろ。

だからtableだろうと思います。

この中身はおみせできませんので、リストに該当するかどうかは再考してみます。

ありがとうございました。

>とりあえずテストファイルでもいいのでupしてください。

現象の確認だけおねがいします。

実際に作る方は、もう「コレ」やりませんので^^;

http://aea.to/itochan/test/form_table_test.html

[2094] Re: テストファイル確認してください。

(2004年7月5日 23時48分)

>>とりあえずテストファイルでもいいのでupしてください。

>現象の確認だけおねがいします。

>実際に作る方は、もう「コレ」やりませんので^^;

>http://aea.to/itochan/test/form_table_test.html

DTDでHTML 4.0って…

是で標準準拠モードとはバグですね。

一般的なブラウザはSGMLのDTDをチェックできないのですが、それにしてもタグが互い違いで終了タグを補って次に終了タグがきたら明らかに互換モードにしてほしいですね。

[2100] Re: テストファイル確認してください。

いとちゃん (2004年7月6日 10時5分)

>DTDでHTML 4.0って…

あ!ほんとだ。 気がつきませんでした。

でも・・・

>是で標準準拠モードとはバグですね。

そのへんはおまかせします。

最近の日記

関わった本など