2013-07-23 3 views
0

У меня есть страница jsf, которая добавляет заказ от клиента.
Все работает отлично, за исключением случаев, когда я нажимаю на командуLink, чтобы показать диалог p:, чтобы добавить нового клиента, обновление на «reste» inputtext перестает работать (даже если я закрою диалог p: без добавления нового клиента):p: Обновление ajax не работает после нажатия команды link

Клиенты Список:

<strong>Client :</strong>< 
<p:autoComplete 
    id="client" 
    value="#{venteSolaireBean.client}" 
    completeMethod="#{venteSolaireBean.autocompleteClient}" 
    var="item" 
    itemLabel="#{item.nom} #{item.prenom}" 
    itemValue="#{item}" 
    converter="#{venteSolaireBean.clientConverter}" 
    dropdown="true" 
    scrollHeight="200" > 
</p:autoComplete> 

Ссылка на ар: диалог для добавления нового Cleint:

<p:commandLink onclick="dlgClient.show()" immediate="true"> 
    <img src="images-main/add-icon.gif" border="0" alt="Add Client" class="img-action"/> 
</p:commandLink> 

Три р: inputtext элементов с АЯКС поведением:

<strong>Montant :</strong> 
<p:inputText value="#{venteSolaireBean.venteSolaire.montant}"> 
    <p:ajax event="keyup" update="reste" listener="#{venteSolaireBean.calcul}" /> 
</p:inputText> 

<strong>Avance :</strong></td> 
<p:inputText value="#{venteSolaireBean.venteSolaire.avance}"> 
    <p:ajax event="keyup" update="reste" listener="#{venteSolaireBean.calcul}" /> 
</p:inputText> 

<strong>Reste :</strong></td> 
<p:inputText id="reste" value="#{venteSolaireBean.venteSolaire.reste}"> 
</p:inputText> 

Функция venteSolaireBean.calcul выполнить со слушателем:

public void calcul() { 
    venteSolaire.setReste(venteSolaire.getMontant() - venteSolaire.getAvance()); 
} 

я проверил, войдя в функцию Расчитать() и я уверен, что он был вызван, и значение давая setReste() правильно ,

Я не понимаю, почему inputtext не обновлялся.
помогите пожалуйста.

+0

Почему вы используете 'непосредственный =" истинный "'? – user1983983

+0

, чтобы пропустить проверку первой формы, потому что я использую буксировочные формы для «клиентского заказа» и другого для диалога «добавить клиента» – faissal

+0

Но вы ничего не отправляете с помощью кнопки, которую вы используете, чтобы показать диалог. На самом деле вам не нужен 'p: commandButton', он также может быть простой кнопкой, поскольку вы не используете JSF-специфику с этой кнопкой. – user1983983

ответ

1

Я думаю, что есть некоторые проблемы с проверкой. Поскольку immediate=true часто приводит к таким проблемам, и вы не используете какие-либо простые функции на кнопке, чтобы отобразить диалог, вы должны заменить p:commandButton на простой HTML button, чтобы показать «добавить клиент» -диалог.

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