WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:リストボックスの設定について

0:[投稿] jet [MAIL] [2004/11/17 10:53 ][環境:IE5.5SP1 わからない]

初めて投稿します。

下記サンプル(html)は、次の動作を行ないます。
1.リストボックスAで項目を選択する。
2.選択した項目の値をテキストへ収納する。
3.テキストからリストボックスBに項目の値を設定する。
4.リストボックスBにリストボックスAの項目が設定される。

項目の値(value)は、""と"1"〜"5"が選択可能になっており
"1"〜"5"を選択した場合は、リストボックスBに正しく設定され、
リストボックスBを展開すると、項目にfocusが当たります。
しかし、""を選択した場合は、設定されていないと思われます。
(リストボックスを展開するとfocusが当たらない。)

確認したい内容は、
何故、リストボックスAから""を選択し、テキストに収納した値と
テキストからリストボックスBに設定される値が一致していない
(と思われる)理由です。

宜しくお願いします。

-サンプル------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<script type="text/javascript">
 function onClick_InitDsp() {
   document.all.form1.select2.value = document.all.form1.textfield.value;
 }
</script>

<BODY bgcolor="#CCCCCC" onload="document.all.form1.select.value = ''">
<form name="form1" method="post" action="">
 <p>リストボックスA:
   <select name="select">
     <option value=""></option>
     <option value="0">項目0</option>
     <option value="1">項目1</option>
     <option value="2">項目2</option>
     <option value="3">項目3</option>
     <option value="4">項目4</option>
     <option value="5">項目5</option>
   </select>
 </p>
 <p>@値をテキストに格納:
    <input type="button" name="Submit1" value="テキストへ収納"onclick="document.all.form1.textfield.value=document.all.form1.select.value">
<input type="text" name="textfield">
 </p>
 <p>AテキストからリストボックスBへ:
   <input type="button" name="Submit5" value="リストボックスBへ設定"onclick="onClick_InitDsp()">
   <font color="#FF0000" size="-1"></font>
 </p>
 <hr>
 <p><font color="#FF0000" size="-1">Aを押下後、展開</font></p>
 <p>リストボックスB:
   <select name="select2">
     <option value=""></option>
     <option value="0">項目0</option>
     <option value="1">項目1</option>
     <option value="2">項目2</option>
     <option value="3">項目3</option>
     <option value="4">項目4</option>
     <option value="5">項目5</option>
   </select>
 </p>
</form>
</BODY>
</HTML>


1:[回答] sim [2004/11/23 23:20 ]

>リストボックスAから""を選択し、テキストに収納した値と
>テキストからリストボックスBに設定される値が一致していない
(と思われる)理由です。

この点の質問については値は一致しているかと思います。

<input type="button" value="LIST CHECK" onclick="alert(document.form1.select2.options.value)">

こんなのでリストボックスBの中身を見れば解るのではないでしょうか?

ちなみに、私の環境ではfocusは動きませんでした。(W2K,IE6)
的外れな回答だったらごめんなさい。


2:[質問] あ [2005/01/06 11:42 ]


3:[回答] コトノハ [2005/01/06 16:37 ]

軽く検証してみましたが、結果としては
「IEがそう扱うような仕様になっている」
としか言えないのではと推察します。

一つ目の option の value に適当な値を設定すると、
text が無くてもちゃんと選択状態(青色の背景色)になります。

よって、value="" はゼロレングスの文字列データとして扱うのではなく、
null もしくは undefined として扱っているとイメージすると解り易いのではないでしょうか。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World