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ライブラリを削除すると、すべて正常に機能します。