- PR -

ドロップダウンリストのキー選択について

投稿者投稿内容
未記入
会議室デビュー日: 2007/08/24
投稿数: 5
投稿日時: 2007-08-24 11:12
asp.netで開発しています。

window.openにて立ち上げたサブブラウザ上にある
ドロップダウンリストが次項目以外キー入力による選択ができません。

1.あ
2.い
3.う

↑のような場合、
「1.あ」を選択状態でキーボードで3を入力しても
「3.う」が選択されません。

次項目の2を入力した場合は「2.い」が選択されます。

わかる方いましたら、どなたかご返信をお待ちしております。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-08-24 11:52
引用:

未記入さんの書き込み (2007-08-24 11:12) より:

window.openにて立ち上げたサブブラウザ上にある
ドロップダウンリストが次項目以外キー入力による選択ができません。

1.あ
2.い
3.う

↑のような場合、
「1.あ」を選択状態でキーボードで3を入力しても
「3.う」が選択されません。

次項目の2を入力した場合は「2.い」が選択されます。


ご説明にある ASP.NET および window.open はこの問題とは関係ありません。 HTML もしくはブラウザの問題です。 こういった問題の場合は現象を確認したブラウザを書いた方が良いです。 おそらく IE だと思いますが。(FireFox だとまた違った動作をします)

ちなみに 2. が選択されている状態で [3] キーを押下すると 3. が選ばれたりしませんか。 また 3. が選択されている状態の場合は(ry

引用:

わかる方いましたら、どなたかご返信をお待ちしております。


何がわかれば良いのでしょう? IE の仕様もしくはバグという回答が欲しいのでしょうか? それとも JavaScript か何かで意図した動作にするための方法が欲しいのでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
会議室デビュー日: 2007/08/24
投稿数: 5
投稿日時: 2007-08-26 11:57
じゃんぬねっとさん。
返信ありがとうございます。

ブラウザの環境はIEです。

以前作成した画面は、
スタート画面上にドロップダウンリストがあり、
自分で制御せずに全ての値をキー選択できたので
今回はなぜ選択できないか質問がありました。

IEの仕様、バグであれば、特に対応する必要はないのですが、
IEの仕様なのでしょうか?

仕様であれば、どのような条件の場合になるのでしょうか?

わかる方いましたら、どなたかご返信をお待ちしております。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2007-08-26 17:32
引用:

未記入さんの書き込み (2007-08-24 11:12) より:
↑のような場合、
「1.あ」を選択状態でキーボードで3を入力しても
「3.う」が選択されません。

次項目の2を入力した場合は「2.い」が選択されます。


ためしに、
コード:
<select>
<option>1.あ</option>
<option>2.い</option>
<option>3.う</option>
</select>


という HTML で試してみましたが、2. と 3. との間で、挙動が対象ではない、ということはなりませんでした。(2. と 3. の動きに違いがありませんでした。)
(Windows XP + IE7 で試しました。)

ただ、ドロップダウンリストボックスがキー入力された場合の挙動の仕様というのは、今までほとんど意識していませんでしたが、これはどういう仕様なのでしょう。インクリメンタルサーチになっているような感じもします。
コード:
<select>
<option>abc</option>
<option>abd</option>
<option>bce</option>
</select>


などで試すとインクリメンタルサーチっぽいことが分かります。Back Space キーなどを押すと効いている感じです。

また、これらは HTML のドロップダウンリストボックスの仕様というよりも、Windows のリストボックス自体の挙動がそのまま HTML のドロップダウンリストボックスに引き継がれているような感じもします。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
未記入
会議室デビュー日: 2007/08/24
投稿数: 5
投稿日時: 2007-08-27 09:23
unibonさん。
返信ありがとうございます。

プロジェクトのスタートページから起動されるページでは、
全ても項目をキー選択できるのですが、
window.openでサブブラウザを起動し、
その画面にドロップダウンがある場合、
以下のような動きになります。

「1.あ」選択時:「2.い」は選択可能、「3.う」は選択不可
「2.い」選択時:「3.う」は選択可能、「1.あ」は選択不可
「3.う」選択時:「1.あ」は選択可能、「2.い」は選択不可

同様の動きになりませんか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-08-27 09:49
引用:

unibonさんの書き込み (2007-08-26 17:32) より:

という HTML で試してみましたが、2. と 3. との間で、挙動が対象ではない、ということはなりませんでした。(2. と 3. の動きに違いがありませんでした。)
(Windows XP + IE7 で試しました。)


質問者さんがバージョンまで書いてくださっていませんが、IE6 でないと再現しないかもしれません。

引用:

また、これらは HTML のドロップダウンリストボックスの仕様というよりも、Windows のリストボックス自体の挙動がそのまま HTML のドロップダウンリストボックスに引き継がれているような感じもします。


質問者さんの指摘している現象は IE の問題であって、Windows の DropDownList は問題ありません。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2007-08-27 11:19
引用:

プロジェクトのスタートページから起動されるページでは、
全ても項目をキー選択できるのですが、
window.openでサブブラウザを起動し、
その画面にドロップダウンがある場合、
以下のような動きになります。

「1.あ」選択時:「2.い」は選択可能、「3.う」は選択不可
「2.い」選択時:「3.う」は選択可能、「1.あ」は選択不可
「3.う」選択時:「1.あ」は選択可能、「2.い」は選択不可

同様の動きになりませんか?



ばかな。と思ったけど、本当になりますね。
しかも初期画面の出力HTMLをローカルに保存して確認すると、window.open 後と同じ動きに。IIS使っても使わなくても同じ。

WinXP with SP2 / VS2005 / IE6 SP2
Win2003EE / IIS6 / IE6 SP2

■初期画面のコード
コード:
<head runat="server">
    <title>Default.aspx</title>
    <script language="javascript" type="text/javascript">
    function transfer(){
        var win = window.open("./NextPage.aspx");
        win.focus();
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem>1.あ</asp:ListItem>
            <asp:ListItem>2.い</asp:ListItem>
            <asp:ListItem>3.う</asp:ListItem>
        </asp:DropDownList>
        <input type="button" value="Next" onclick="transfer();" /></div>
    </form>
</body>



■次画面のコード
コード:
<head runat="server">
    <title>NextPage.aspx</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem>1.あ</asp:ListItem>
            <asp:ListItem>2.い</asp:ListItem>
            <asp:ListItem>3.う</asp:ListItem>
        </asp:DropDownList>
  
    </div>
    </form>
</body>


プレマニア
常連さん
会議室デビュー日: 2007/08/24
投稿数: 34
投稿日時: 2007-08-27 14:34
プレマニアと申します。

コード:
「1.あ」選択時:「2.い」は選択可能、「3.う」は選択不可 
「2.い」選択時:「3.う」は選択可能、「1.あ」は選択不可 
「3.う」選択時:「1.あ」は選択可能、「2.い」は選択不可 



自分で試せなくて申し訳ないのですが、

「a.あ」
「b.い」
「c.う」

ではどうなりますか?

スキルアップ/キャリアアップ(JOB@IT)