Java Script + jsf

como que eu faço para colocar uma mensagem de confirmação ex: Deseja realmente excluir o arquivo?? em um commandLink.

<a4j:commandLink value="Excluir" action="#{MBean.excluir}" ajaxSingle="true" onclick="if (!confirm('Deseja realmente excluir?')) return false"> </a4j:commandLink>

Algo assim?

como no exemplo acima… use a função confirm(‘mensagem’).

a função retorna um booleano com a resposta da popup.

onclick="if (!confirm(‘Deseja realmente excluir?’)) ta dando o seguinte erro
Attribute onclick invalid for tag commandLink according to TLD
tambem não está aceitando o ajaxSingle=“true”

o meu código está da seguinte forma

<h:commandLink actionListener="#{protocolo.excluir}" action="#{protocolo.act}" onmousedown="if(!confirm('Deseja realmente excluir?'))return false;" immediate="true"> <f:param value="#{pro.protocolo_id}" name="id" id="id" binding="#{protocolo.id}" /> <h:outputText styleClass="link" value="Excluir" /> </h:commandLink>

só que ele executa o javaScript mais não entra no envento do actionListener.

eu estou utilizando o jsf 1.1 e não estou utilizando rithfaces.
Tem algum outro jeito de fazer isso?

usa o commandLink que tem dentro do a4j.

pesquise sobre os componentes a4j. eles dão mais liberdade pra esse tipo de navegação.

onde eu posso encotrar o jar para a4j para o java 1.4?

junto com as libs do richfaces… procura ae no google que qq blog tem.

utilizando o a4j deu alguns problemas no sistema. Não teria alguma outra forma de fazer isso?? Utilizando somente jsf

Olá,
tente usar da seguinte forma:


      <h:commandLink actionListener="#{protocolo.excluir}"   
                                action="#{protocolo.act}"   
                                styleClass="link"
                                value="Excluir"
                                onclick="javascript:if(!confirm('Deseja realmente excluir?'))return false;"> 
              <f:param value="#{pro.protocolo_id}" 
                             name="id" id="id"   
                             binding="#{protocolo.id}" />   
      </h:commandLink>  

note que utilizei o onclick, e javascript: no inicio do evento onclick. Creio que você não precise utilizar o immediate="true"
uma dica: para economizar código e ficar mais elegante. Retire o h:outputText dentro do commandLink substituindo por value no próprio commandLink. O exemplo acima foi alterado para isso.

abs

no evento onclick ta dando a seguinte mensgem de erro: Attribute onclick invalid for tag commandLink according to TLD??

tente utilizar o a4j:commandLink ou o t:commandLink. Se esta alternativa não funcionar os seus libs estão desatualizados.
Favor informar a versão dos libs do myfaces (api e impl)

estou utilizando jsf 1.1 e java 1.4

vlw a todos deu um jeito ao invés de colocar o commadLink coloquei o commandButton dai funcionou normal

verifique no diretório WEB-CONTENT/WEB-INF/libs/ do seu projeto. Procurando pelo windows explorer e verifique qual a versão do myfaces-api e myfaces-impl.

a versão é que eu é api é a 1.1 e impl também é 1.1

baixa a versao 1.2.5 e verifique se funciona.
http://myfaces.apache.org/download.html
lembrando que a atualização dos jar’s pode afetar outras telas que utilizam o myfaces. Portanto, faça um backup.

vlw pela ajuda