2013-12-13 3 views
4

Mojarra 2.1.5/PrimeFaces 3,5Выполнить команду после удара Введите в inputText

Я не знаю, как объяснить that.I есть один 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 быть выполнены:

enter image description here

ответ

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 вы также можете позвонить в submit.

+0

У меня есть 10 inputText и commandButton. Каждый CommandButton находится после каждого вводаText. Как я могу сделать, чтобы ввести что-то в каждый inputText и нажать Enter, выполнить соответствующий commandButton? – Al2x

+0

У вас есть какая-то подсказка, как я могу сделать в отношении первого комментария, который я сделал? спасибо – Al2x

+0

Я обновил свой ответ. Я, к сожалению, не уверен, что нет лучшего решения. – LaurentG

Смежные вопросы