プロが教えるわが家の防犯対策術!

変なタイトルで、申し訳ありません。
最近、XMLを習得しようと思い勉強しているところです。
質問なのですが、

~~~~~~省略~~~~~~
<body>
<form>
タイトル:
<select name="strItem" onchange="f_disp()">
<xsl:apply-templates select="product" />
</select>
<br>
<img src="" id="pic" />
</form>
</body>
~~~~~~省略~~~~~~

というXSLファイルがあります、
(ちなみに、コンボボックスで選択されたXMLファイルを表示しようとしています。)
javascriptで、idであるpicのsrcを取得して、画像を表示しようと
考えています(pic.src = ○○○.item(0).textみたいな感じで、取得しています)。
上記のソースでは、画像が表示されないのですが、
</form>タグを</select>の下に移動すると、きちんと画像が
表示されます。

なぜ、このようなことが起こるのかわかりません。
ご指導お願いします。

以上です

A 回答 (2件)

HTML TransitionalやXHTML 1.0ではform要素の内容としてブロック要素とインライン要素両方置けますが、HTML StrictやXHTML 1.1ではインライン要素を置けません。

(img要素はインライン要素)
Strictを指定してたりしませんか?

一般的な話として、トラブルを避けるため、なるべくStrictでも通用するように記述することをお奨めします。div要素の中にimg要素を置くだけですので。

見当違いな回答だったら、すみません。

参考URL:http://validator.w3.org/
    • good
    • 0

あまり詳しくはありませんが、とりあえず確認です。


<br>は<br />になっていますか?
なっているとして、(HTMLと同様に改行として使っておられると思いますが)表示時にきちんと機能していますか?

この回答への補足

お世話になります。
表示部分はしっかりと出てきます。
ただ、
-------------------------------------------------------
<body>
 <form>
  タイトル:
  <select name="strItem" onchange="f_disp()">
   <xsl:apply-templates select="product" />
  </select>
 </form>
 <img src="photo/3.jpg" id="pic" width="200" />
</body>
-------------------------------------------------------
このソースと、
-------------------------------------------------------
<body>
 <form>
  タイトル:
  <select name="strItem" onchange="f_disp()">
   <xsl:apply-templates select="product" />
  </select>
 <img src="photo/3.jpg" id="pic" width="200" />
 </form>
</body>
-------------------------------------------------------
このそーすでは、動きが違います。
HTMLを普通に使用するような感覚で、<form>タグ
を使っているのですが、どうやら、そういうわけには
行かないみたいで、なぜ、下のソースでは、
動かないかを知りたいのですが・・・・

補足日時:2003/01/16 09:39
    • good
    • 0

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