2013-08-12 2 views
0

У меня проблема с формой JSF 2, содержащей поле ajax. Когда я использую мышь, чтобы нажать кнопку отправки формы, пока курсор все еще находится в поле ввода ajaxified, входное значение поля не будет передано до того, как действие будет инициировано в бэкэнде. Также подключенный валидатор и конвертер не запускаются.Как отправить поле JSF ajax во время отправки формы

<h:form id="invoice"> 
    ... 
    <h:inputText value="#{invoiceBean.amount}" required="true" validator="#{invoiceBean.validateAmount}"> 
     <f:converter converterId="CurrencyConverter" /> 
     <f:ajax event="blur" render="@this"/> 
    </h:inputText> 
    <h:commandButton action="#{invoiceBean.processInvoice()}" /> 
</h:form> 

Я также попытался усилить командную кнопку с <f:ajax />, но результат остался прежним. Другие (не-ajax) поля в одной и той же форме (не показаны в фрагменте кода выше) отправляются правильно. Поле ajax также отправляется, преобразуется и проверяется, если я нажимаю somwhere else на странице перед отправкой, но не при использовании кнопки напрямую.

Есть ли что-нибудь, что мне не хватает, чтобы поле также было отправлено на/до формы?

ответ

-1

Что касается поведения <h:inputText> АЯКСА: использовать <f:ajax> с событием по умолчанию valueChange, что событие по умолчанию для всех входных компонентов. Это действительно эквивалентно опуская event атрибут:

<f:ajax render="@this" /> 

дополнительной информации относительно <h:commmandButton> компонента, не забудьте указать атрибут execute из <f:ajax>:

<f:ajax execute="@form" /> 

в противном случае он по умолчанию будет @this, поэтому рендеринг флюгер ваши усилия.

+0

Спасибо за ввод :) Я удалил событие 'event =" blur "'. Но все равно не важно, имеет ли кнопка '' или не значение поля не отправлено. – Gandalf

+0

В этом случае вы можете столкнуться с проблемой преобразования или проверки. Поместите туда некоторые записи. И для обеспечения того, чтобы поле было отправлено, проверьте HTTP-трафик с помощью firebug. Также добавьте '' компонент и обновите его с помощью ajax – perissf

+0

@Downvoter: что вас беспокоит именно в моем ответе? – perissf

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