Java Script + jsf

17 respostas
joede.fadel

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

17 Respostas

R

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

Algo assim?

brunocl14

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

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

joede.fadel

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.

joede.fadel

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

brunocl14

usa o commandLink que tem dentro do a4j.

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

joede.fadel

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

brunocl14

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

joede.fadel

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

andersonsv

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

joede.fadel

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

andersonsv

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)

joede.fadel

estou utilizando jsf 1.1 e java 1.4

joede.fadel

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

andersonsv

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.

joede.fadel

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

andersonsv

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.

joede.fadel

vlw pela ajuda

Criado 9 de dezembro de 2008
Ultima resposta 11 de dez. de 2008
Respostas 17
Participantes 4