Mojarra 2.1.5 / PrimeFaces 3.5
我不知道如何解释。我有一个inputText和commandButton 当我在inputText中键入内容并按Enter键时,我需要自动执行commandButton。
<p:inputText id="txtProducao" required="false"
value="#{ManagedBean.xxxPreco.producaoDia}"
requiredMessage="#{bundle.xxPreco_xProdx}>
</p:inputText>
<p:commandButton id="buttonProducaoDia"
icon="ui-icon-check"
actionListener="#{ManagedBean.calculaProdxxx}"
update="txtValorSoma">
</p:commandButton>
我需要为每个inputText键入一些值,然后点击Enter后我需要执行相应的commandButton:
答案 0 :(得分:5)
如果您有一个p:commandButton
,则按 ENTER 即可提交表单。如果表单中有许多p:commandButton
。您可以使用p:defaultCommand
定义默认提交按钮。
<p:inputText id="txtProducao" required="false"
value="#{ManagedBean.xxxPreco.producaoDia}"
requiredMessage="#{bundle.xxPreco_xProdx}>
</p:inputText>
<p:commandButton id="buttonProducaoDia"
icon="ui-icon-check"
actionListener="#{ManagedBean.calculaProdxxx}"
update="txtValorSoma">
</p:commandButton>
<p:defaultCommand target="buttonProducaoDia" />
[编辑]
我认为您必须使用JavaScript解决它,如下所示:
<p:inputText id="txtProducao" required="false"
value="#{ManagedBean.xxxPreco.producaoDia}"
requiredMessage="#{bundle.xxPreco_xProdx}>
<p:ajax event="keydown" update="@form" onstart="if (event.keyCode != 13) { return false; }" />
</p:inputText>
您还可以向actionListener
元素添加p:ajax
。在JavaScript中,您也可以调用提交。