Chamar função javascript no código jsp

5 respostas
C

Tenho um arquivo validar(CPF), que está no repositório de scripts em java script.
Todos os scripts desse arquivo são visto em todas as páginas da aplicação.
Minha dúvida é: como chamar essa função validar(CPF) na página jsp, que contém várias tags library.
To usando:

<s:span><h:outputLabel for=“CPF” value=“CPF”/><span class=“required”>*</span></s:span>

<s:decorate id=“cpfd”>

<h:inputText id=“CPF” maxlength=“255” size=“20” value="#{form.Person.identifier}" required=“true”/>

<h:commandLink onclick = “validaCPF(CPF)”/>

</s:decorate>

Me ajudem de puder, ficarei muito grata!

Obrigado.

5 Respostas

Z

Sua dúvida é se vc está chamando certo ou decorrente do fato de ter várias tags library?

S

primeiro você terá que importar o repositório de scripts.

no meu ponto de vista acho que faltou voce colocar:

javascript antes da função, assim:

veja se funciona, qualquer coisa poste a pagina inteira.

C

usei
<h:inputText id=“CPF” maxlength=“255” size=“20” value="#{form.Person.identifier}" required=“true” onblur=“validaCPF(this.cpfd)”/>
apareçe a janela de alerta que tem que apareçer, mas ele só mostra a mensagem de cpf inválido, mesmo sendo digitado um cpf válido.
se vocs tiverem um script melhor, me ajudem aí.
abços

D

Uma prática boa é separar completamente javascript do jsp, já que são duas linguagens diferentes e facilita no caso de ‘debuggar’ a aplicação.

Crie um arquivo .js para essa sua página e inclua ele no final do body. Dentro desse arquivo você pode adicionar o evento de validação. Lembrando claro de importar também a biblioteca com as funções de validação.

Por exemplo:

document.getElementById(cpf).onblur = function() {

funcaoParaValidacao(this.value) || this.focus();

}

Melhor ainda seria encapsular esse evento em uma biblioteca para tratamentos de eventos, evitando assim incompatibilidades entre browsers e centralizando o próprio tratamento.

Qualquer dúvida posta aí…

=)

C

Isso depende muito.
Do modo que esta sendo feito, setando direto no html o onclick, ao adicionar um .js no fim do body, pode acontecer do html renderizar antes desse aquivo js e na hora de disparar alguma funçao antes do js estar carregado, o browser nao ira encontrar essa funcao.
O contrario tambem pode acontecer, pois se voce por o js no começo da pagina e disparar uma funçao antes do html ter sido renderizado e essa funçao acesse alguma propriedade nao carregada da pagina, nao ira funcionar. o que nao eh esse o caso pois a funçao soh vai ser disparada depois do html ter renderizado…

Criado 24 de abril de 2008
Ultima resposta 25 de abr. de 2008
Respostas 5
Participantes 5