[Seasar-user:4681] Re: S2JSFでEnterを押した場合に特定のボタンを有効にする方法
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2006年 9月 22日 (金) 13:41:48 JST
米林です。
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 メーリングリストの案内