У меня возникла проблема с формой, не вызывающей ее метод actionButton. Когда я отправляю форму без предварительного обновления (не выбирая ни одного узла в дереве), метод срабатывает просто отлично.Основные элементы Обновленная форма Ajax не запускает действие commandButton
Как только форма обновлена Ajax, commandButton больше не будет вызывать ее действие.
Вот код JSF:
<p:layoutUnit position="center">
<p:tree orientation="horizontal" value="#{flightTypeController.tree}" var="node"
selectionMode="single" selection="#{flightTypeController.selectedNode}">
<p:ajax event="select" listener="#{flightTypeController.onNodeSelect}" update=":typesTree"/>
<p:treeNode>
<h:outputText value="#{node.name}"/>
</p:treeNode>
</p:tree>
<h:form id="typesTree">
<p:inputText disabled="true" id="outputParent" value="#{flightTypeController.selectedOne.name}"/>
<p:inputText id="outputName" value="#{flightTypeController.current.name}"/>
<p:commandButton ajax="false" icon="ui-icon-disk" value="#{bundle.general_create}" action="#{flightTypeController.create()}"/>
</h:form>
</p:layoutUnit>
И ява слушатель:
public void onNodeSelect(final NodeSelectEvent event) {
final Object res = event.getTreeNode().getData();
if (res instanceof FlightType) {
selectedOne = (FlightType) res;
} else {
selectedOne = null;
}
}
Я уже проверить bible и JS Fix, но без успеха BalusC в.
Я видел подобное поведение довольно часто (и должен был найти обходные пути), поэтому я мог бы неправильно понять что-то фундаментальное.
О, да, я проверил несколько раз: в моем коде нет вложенных форм.
Может быть, 'selectedOne' является' null'? Вы проверили журнал своего сервера на наличие исключений? – user1983983
selectedOne оценен и действителен. Журнал сервера очищен на 100%. – Psyx