Fórum Problema com JSF e .JS #552925
02/05/2016
0
tenho um códgio jsf que ao chamar um java script não encontra o botão em questão para desabilitar, alguem pode me ajudar?
Uncaught ReferenceError: updateButton is not defined
código do botão no JSF:
<p:commandButton widgetVar="updateButton"
value="#{labels.button_update}" update="userDataTable" name = "updateButton"
action="/pages/usuarios/addEdit.svx"
actionListener="#{userAddEditMB.update}" />
Código do .js
function enableButtons() {
updateButton.enable();
deleteButton.enable();
}
Obrigado.
Washington
Curtir tópico
+ 0Post mais votado
02/05/2016
Não identifiquei onde o js está sendo chamado.
Tu podes chamar ela através do oncomplete do p:commandButton.
Para localizar os elementos através da widgetVar tens que usar a função PF('<widgetVar>').
Espero ter ajudado.
Ben Solo
Gostei + 1
Mais Posts
02/05/2016
Washington
Sou desenvolvedor novo em jsf, estou apanhando faz uma semana para esse erro,
O código da pagina é este:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui" template="../main.xhtml">
<ui:define name="content">
<f:view>
<f:event listener="#{userMB.onLoad}" type="preRenderView" />
</f:view>
<p:panel id="userPanel" header="#{labels.usuario}">
<h:form id="userForm">
<p:commandButton widgetVar="addButton" value="#{labels.button_add}" name = "addButton"
action="/pages/usuarios/addEdit.svx" ajax="false"
actionListener="#{userAddEditMB.add}" />
<p:commandButton widgetVar="deleteButton"
value="#{labels.button_delete}" action="#{userMB.delete}" name = "deleteButton" var="deleteButton"
update="userDataTable" oncomplete="unselectRows();" />
<p:commandButton widgetVar="updateButton"
value="#{labels.button_update}" update="userDataTable" name = "updateButton" var="updateButton"
action="/pages/usuarios/addEdit.svx"
actionListener="#{userAddEditMB.update}" />
<p:dataTable id="userDataTable" widgetVar="dataTable" var="user"
loadingMessage="#{labels.usuario_load}" value="#{userMB.users}"
paginator="true" rows="10"
paginatorTemplate=" "
rowsPerPageTemplate="5,10,20" rowKey="#{user.userid}"
selectionMode="single">
<p:ajax event="rowSelect" listener="#{userMB.selectUser}"
oncomplete="enableButtons();" ajax="true"/>
<p:ajax event="page" listener="#{userMB.unselectUser}"
oncomplete="unselectRows();" ajax="true"/>
<p:ajax event="rowUnselect" listener="#{userMB.unselectUser}"
oncomplete="disableButtons();" />
<p:column>
<f:facet name="header">
<h:outputText value="#{labels.usuario_id}" />
</f:facet>
<h:outputText value="#{user.userid}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{labels.usuario_name}" />
</f:facet>
<h:outputText value="#{user.name}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{labels.usuario_username}" />
</f:facet>
<h:outputText value="#{user.username}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{labels.usuario_password}" />
</f:facet>
<h:outputText value="#{user.password}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{labels.usuario_role}" />
</f:facet>
<h:outputText value="#{user.role}" />
</p:column>
</p:dataTable>
</h:form>
</p:panel>
</ui:define>
</ui:composition>
Gostei + 0
02/05/2016
Washington
foi muito util sua ajuda, nem acredito que apanhei por isso.
Obrigado!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)