通过在primefaces p:autoComplete中点击ENTER事件来提交表单

时间:2015-01-08 05:35:58

标签: jsf-2 primefaces

以下是我的代码:

<h:form>   
  <p:autoComplete id="autoCompleteID" value="#{myBean.item}"  
                       completeMethod="#{myBean.completeMethod}"    
  </p:autoComplete>
  <h:commandButton action="#{myBean.searchRelatedItems}"/>
</h:form>

此处我的方案类似于标准Google搜索,我可以在建议中查看相关项目,还可以根据p:autoComplete文本字段中键入的文本重定向另一个页面。单击按钮可以正常工作,但我也希望通过在p:autoComplete文本字段中按ENTER键来实现。

1 个答案:

答案 0 :(得分:1)

迟到的回答,但我会把它留在这里......

  • 尝试使用Primefaces commandButton,它是p:commandButton,而不是h:commandButton。
  • 确保commandButton的属性类型为“submit”而不是“button”,“submit”是Primefaces中的默认属性。
  • 最后一个(但令人讨厌的,我相信)解决方案是在commandButton中添加一个id,如“search-button”和一个id在h:form中的“searchForm”,并将以下内容放在p:autoComplete或h :form onkeyup="if (event.keyCode === 13) { document.getElementById('searchForm:search-button').click(); return false; }"

类似主题:Submit form with primefaces widgets on enter