Submit form with primefaces widgets on enter

只谈情不闲聊 提交于 2019-12-18 09:31:29

问题


I need to have my primefaces p:commandLink submit a h:form when the user presses the enter key.

I tried the solutions suggested here and in a couple of other places. I also tried the primefaces defaultCommand. No matter what I try, the browser seems to notice the button press, but the action is not performed.

These are my form's widgets:

<p:autoComplete id="acSimple" value="#{home.searchKeywords}" completeMethod="#{home.completeText}" style="" />
<p:commandLink id="srchbutton" action="#{home.goToSearchResults}" onclick=" $('.prgrs').show();">
    <h:graphicImage id="srch" name="images/searchbutton.jpg" class="img-responsive" style="display: inline-block; margin-left:0px; margin-bottom:-0px;"  />
</p:commandLink>
<p:defaultCommand target="srchbutton" />

回答1:


<h:form onkeypress="if (event.keyCode == 13) { document.getElementById('form:srchbutton').click(); return false; }">

Make sure your real id of link is "form:srchbutton" or put whatever it is. You can use developer tools or firebug to find it out.




回答2:


Dijana's solution is right, but the action onkeyup should be used and not onkeypress.

ENTER is an action event so it will not be caught by onkeypress which captures basic and meta characters. So you need onkeydown (which can cause problems if ENTER is down even after the next page loads) or onkeyup.



来源:https://stackoverflow.com/questions/30963879/submit-form-with-primefaces-widgets-on-enter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!