[Seasar-user:4682] Re: S2JSFでEnterを押した場合に特定のボタンを有効にする方法

山口 健司 [E-MAIL ADDRESS DELETED]
2006年 9月 22日 (金) 13:54:51 JST


米林様

ご回答、ありがとうございます。
画面を簡単に書きましたが、画面の項目数がかなりあり、
検索画面だけでも、×数画面あり、力作業で対応するには覚悟が必要です。
あと画面の枠にフォーカスがある場合は結局、
全てのEnterを拾うという事にならないのでしょうか?
その辺りを考えると、何か簡単な方法はないのかと質問した次第です。

よろしくお願いします。

-----Original Message-----
From: [E-MAIL ADDRESS DELETED] [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of [E-MAIL ADDRESS DELETED]
Sent: Friday, September 22, 2006 1:42 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:4681] Re:S2JSFでEnterを押した場合に特定のボタンを有効にする方法


米林です。

From: "山口 健司" <[E-MAIL ADDRESS DELETED]>
Sent: Friday, September 22, 2006 10:48 AM

> 連続での質問で恐縮です。
> 山口です。
>
> S2JSF(1.0.16)で作成された検索画面でそれぞれのActionに
> 関連付けられている複数のボタンやリンクがあるのですが、
> ボタン上でなく、検索条件を入力するようなテキストボックス上で
> Enterを押された場合、必ず「検索」ボタンを実行したいのですが、
> そのような事はできるのでしょうか?
>
> 簡単な画面イメージを書きます。
> ■何も考慮していない現在の挙動
> ・検索条件のテキストエリアにカーソルがある場合のEnterで
>  A画面遷移ボタンが実行されてしまいます。
> ・JavaScriptでEnterをcatchして全て検索ボタンを実行すると
>  A画面遷移ボタンやマスタ参照画面起動ボタン上でのEnterでも
>  検索が実行されてしまい、他のボタンはマウスでしか実行できなく
>  なってしまいます。
>
> ■やりたい事
> ・検索条件のテキストエリアにカーソルがある場合のEnterは検索実行
> ・A画面遷移ボタンやマスタ参照画面起動ボタン上でのEnterは
>  それぞれの処理を実行
>
>
> ------------------------------------------------
> ヘッダー部
>
> A(Link) B(Link) C(Link)          [A画面遷移](button)
>
> ------------------------------------------------
> ボディー部
>
>   検索条件 : [                ](text) [マスタ参照画面起動](button)
>
>
> [検索](button)
>
> ------------------------------------------------

全てのEnterキーをcatchするのではなく
Enterキーを制御したいテキストボックスにidを振って
該当idのelementにのみEnterキーのイベントを
登録してみてはいかがでしょうか?

ざっくりですが、以下のような感じです
検索条件のテキストにid="hoge"を設定
<input type="text" id="hoge" value="xxx"/>

document.frm.elements['hoge'].onkeydown = function(){alert('検索ボタン実行');};
# form には id="frm" を設定します

_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://www.seasar.org/mailman/listinfo/seasar-user





Seasar-user メーリングリストの案内