2

inputTextとcommandButtonを備えた単純なフォームがあります。通常、使用する場合はonkeypress="if (event.keyCode == 13) this.submit();"、Enterキーを押してフォームを送信できます。私のアプリケーションのコンテキストでは、これは機能しませんが。Enterキーを押すと、inputTextはクリアされますが、フォームは送信されず、commandButtonのアクションは呼び出されません。Icefacesを使用していice.captureEnterKeyて、ページのソースコードにいくつか表示されていますが、それが適切かどうかはわかりません。

ページコード:

<h:form id="form1">
    <h:inputText value="#{myBean.query}"/>
    <h:commandButton id="search" value="Search" action="#{myBean.submitQuery()}" onkeypress="if (event.keyCode == 13) this.submit();"/>
</h:form>

更新:私はそれを次のように機能させることができました:

`<h:form id="form1">
    <h:inputText value="#{myBean.query}" onkeypress="if (event.keyCode == 13) document.getElementById('form1:search').click();"/>
    <h:commandButton id="search" value="Search" action="#{myBean.submitQuery()}"/>
</h:form>`

問題は、次のページに移動する前に、この奇妙なエラーが発生することです。

Network connection interrupted. Reload this page to try to reconnect.

Enterキーを押してフォームを送信した場合にのみ、エラーが表示されます。マウスでボタンを押しても表示されません。また、Icefacesライブラリを削除すると、すべて正常に機能します。

4

0 に答える 0