我有一个带有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库,一切正常。