Primefaces+javascript

Boa tarde pessoal, gostaria de saber como posso alterar o atributo de uma tag do primefaces via javascript, para ser mais preciso quero alterar o atributo “disabled” do componente <p:commandButton> usando alguma função javascript.

Bom dia/tarde/noite!

Você deixou meio vago a pergunta. Voce quer ativar/desativar um disabled quando ? Quando o usuario clicar em algo ? Quando o usuario digitar algo ? Eu recomendo voce usar condição no próprio disabled do botão, e para fazer o update, usar um remoteCommand (que gera um java script “nativo” do primefaces).

Por exemplo:

<p:remoteCommand name="jsrc" update="idBtn" actionListener="#{seuBean.inverteCondicao}" />
<p:inputText value="#{seuBean.atributo}" onkeypress="jsrc()"/>
<p:commandButton value="Aperte o botão" disabled="#{seuBean.condicaoBooleana}" id="idBtn"/>

E no bean

private boolean condicaoBooleana = false;

public boolean getCondicaoBooleana()
{
return this.condicaoBooleana;
}

public void setCondicaoBooleana(boolean condicaoBooleana)
{
this.condicaoBooleana = condicaoBooleana;
}

public void inverteCondicao()
{
if(this.condicaoBooleana) // Por ser atributo boolean, eu posso checar s é true apenas usando "if(atributo)"
{
 // Se for true, vira false
this.condicaoBooleana = false;
} else
{
 // Se for false, vira true
this.condicaoBooleana = true;
}
}

Bom dia nobre colega, na verdade quero habilitar e desabilitar os botões quando o usuário selecionar uma linha do datatable, na verdade meio que consegui, fiz assim:

<p:ajax event="rowSelect" listener="#{gerenciamentoFabMB.onRowSelect}" update=":formFabricantes:btnEditar" oncomplete="javascript:habilitaBotoes()"/> <f:facet name="header">

[code]
function habilitaBotoes() {
document.getElementById(“formFabricantes:btnEditar”).disabled = false;
document.getElementById(“formFabricantes:btnExcluir”).disabled = false;
document.getElementById(“formFabricantes:btnVisualizar”).disabled = false;
}

                </script>[/code]

Esta habilitando os botões quando clico em alguma linha, porem o botão não esta recebendo o foco novamente pois quando inicio a tela passo o desabled de alguns botões como true, dai quando clico na linha quero que ele receba o foco e fique false, estou mandando atualizar os botões porem não esta funcionando.