1

私はこのフォームを持っています

<h:form id="formId" prependId="false">
    Descrizione <h:inputTextvalue="#{bean.description}" />
    Prezzo: <h:inputText value="#{optionalManaged.price}" />
    <a4j:commandLink styleClass="button smallButton" actionListener="#{bean.method}"
                     execute="formId" render="otherDiv">
        +
    </a4j:commandLink>

</h:form>

現時点では、a4j:commandLink を押すと、2 つの入力フィールドの値が Bean 内に格納され、アクション リスナーが正しく呼び出されます。

私がやりたいのは、2番目のinputTextでEnterキーを押すと同じことができるということです。

inputText 内から jquery を介して a4j:commandLink click() を呼び出して、素朴な試みを行いました。これは明らかにうまくいきませんでした。

どうすればこれを行うことができるかについて何か考えはありますか?

4

1 に答える 1

3

Enter キーが押されたかどうかを検出し、プログラムでコマンド リンクをクリックする必要があります。idそのとid入力コンポーネントを設定することを忘れないでください。ページの読み込みが完了したときに追加する必要がある JavaScript は次のとおりです。

document.getElementById('input').onkeypress = function(e) {
    var event = e || window.event;
    var code = event.which || event.keyCode;
    if (code == 13) {
        document.getElementById('link').click();
        return false;
    }
}
于 2013-10-04T16:17:59.857 に答える