0

「ice:selectInputText」を持つ JSF + icefaces 1.8.2 アプリケーションがあります。

次の Javascript イベントの 1 つだけを追加したかった: onkeydown、onkeypress、または onkeyup。ただし、機能しません。それらは何もしません。ブラウザーでレンダリングされる Web の HTML コードにもありません。

これはどのように機能するはずですか?

「return」キー (Javascript キーコード 13) が押されたタイミングを知りたいので、Java を使用しvalueChangeListenerたりtextChangeListener、Java バックビーンで管理したりできません。このキーはこれらのイベントを発生させないためです。

誰でも私を助けてもらえますか?

4

3 に答える 3

0

動作するはずです:

HTML:

<ice:selectInputText
<!-- your stuff -->
onkeypress="check(event);"
</ice:selectInputText>

JavaScript:

   function check(e) {

       var key;
       if(!window.event) {
           key = e.which;
       } else {
          key = window.event.keyCode;
       }

       if(key == 13) {
          alert('enter!');
       }
    }
于 2013-02-26T16:42:25.403 に答える
0

問題の説明から、タグ id は js 関数の引数であると想定しています。その場合、私は同じ問題と戦ってきました。

私の場合、カスタム スクリプトでユーザー入力を制限したかったのです。HTML を出力するとき、Icefaces はタグの id を変更します。含まれているフォーム ID をタグ ID にプレフィックスとして追加し、ace:textEntry タグ ' _input ' の場合はサフィックスとして追加します。したがって、ace:textEntry タグの ID は「customer-edit-form:company-name-text_input」になりました。これを回避するには、this.idを使用します。

作業タグのマークアップ:

<ice:form id="customer-edit-form">
    <ace:textEntry styleClass = "edit-textbox" 
        id="company-name-text1" 
        label="Company"
        labelPosition="left" 
        onkeyup="limitLengthByID(this.id, '4'); "
        value="#{customerManagerBean.companyName}">
    </ace:textEntry>
</ice:form>**strong text**
于 2013-11-03T20:33:03.690 に答える
0

解決しました!! うーん...誰かが私にそれを解決する方法を教えてくれました。

リターン キーを押すと、ice:selectInputText "アクション" が起動されるので、バック Bean の Java を介して管理できます。

于 2013-02-27T07:31:32.827 に答える