Autor
Mensagem
Eu tenho um arquivo externo .js com algumas funcoes mas eu não consigo ligar ele a mesma forma com que fiz com o estilo
sempre me da este erro.
Erro: Compara_Datas is not defined
Como eu faço a linkagem do javaScripot com o jsf. Veja abaixo eu chamando no <p:inputmask>
<p:inputMask id=dataComunicacao value=#{planilhaBean.acidenteSelecionado.dataComunicacao} style=width:120px size=10 maxlength=10 required=true mask=99/99/9999 onblur=return Compara_Datas(gE(dataAcidente).value,gE(dataComunicacao).value,erro);>
sempre me da este erro.
Erro: Compara_Datas is not defined
Como eu faço a linkagem do javaScripot com o jsf. Veja abaixo eu chamando no <p:inputmask>
<p:inputMask id=dataComunicacao value=#{planilhaBean.acidenteSelecionado.dataComunicacao} style=width:120px size=10 maxlength=10 required=true mask=99/99/9999 onblur=return Compara_Datas(gE(dataAcidente).value,gE(dataComunicacao).value,erro);>
Consegui resolver, mas eu não consigo dar foco, no ultimo campo da data mesmo eu pedindo para focar.
Ex:
<p:inputMask id=dataAcidente value=#{planilhaBean.acidenteSelecionado.dataAcidente} style=width:120px maxlength=10 required=true mask=99/99/9999>
<f:convertDateTime dateStyle=medium/>
</p:inputMask>
<p:inputMask id=dataComunicacao value=#{planilhaBean.acidenteSelecionado.dataComunicacao} style=width:120px size=10 maxlength=10 required=true mask=99/99/9999 onblur=Compara_Datas(gE(edicao:dataAcidente).value,gE(edicao:dataComunicacao).value,A data da comunicação não pode ser maior que a do acidente,edicao:dataAcidente);>
<f:convertDateTime dateStyle=medium/>
</p:inputMask>
Eu preciso possionar na dataComunicacao mas mesmo dando foco ele não vai, agora se dou foco na dataAcidente funciona.
Veja o meu java script
function gE(idElemento){
return document.getElementById(idElemento);
}
function Compara_Datas(data_inicial,data_final,mensagem,idElemento){
str_mensagem = mensagem;
dia_inicial = data_inicial.substr(0,2);
dia_final = data_final.substr(0,2);
mes_inicial = data_inicial.substr(3,2);
mes_final = data_final.substr(3,2);
ano_inicial = data_inicial.substr(6,4);
ano_final = data_final.substr(6,4);
if(ano_inicial > ano_final){
document.getElementById(idElemento).focus();
alert(mensagem);
return false;
}else{
if (ano_inicial == ano_final){
if(mes_inicial > mes_final){
document.getElementById(idElemento).focus();
alert(mensagem);
return false;
}else{
if(mes_inicial == mes_final){
if(dia_inicial > dia_final){
document.getElementById(idElemento).focus();
alert(mensagem);
return false;
}
}else{
return true;
}
}
}
}
}
Ex:
<p:inputMask id=dataAcidente value=#{planilhaBean.acidenteSelecionado.dataAcidente} style=width:120px maxlength=10 required=true mask=99/99/9999>
<f:convertDateTime dateStyle=medium/>
</p:inputMask>
<p:inputMask id=dataComunicacao value=#{planilhaBean.acidenteSelecionado.dataComunicacao} style=width:120px size=10 maxlength=10 required=true mask=99/99/9999 onblur=Compara_Datas(gE(edicao:dataAcidente).value,gE(edicao:dataComunicacao).value,A data da comunicação não pode ser maior que a do acidente,edicao:dataAcidente);>
<f:convertDateTime dateStyle=medium/>
</p:inputMask>
Eu preciso possionar na dataComunicacao mas mesmo dando foco ele não vai, agora se dou foco na dataAcidente funciona.
Veja o meu java script
function gE(idElemento){
return document.getElementById(idElemento);
}
function Compara_Datas(data_inicial,data_final,mensagem,idElemento){
str_mensagem = mensagem;
dia_inicial = data_inicial.substr(0,2);
dia_final = data_final.substr(0,2);
mes_inicial = data_inicial.substr(3,2);
mes_final = data_final.substr(3,2);
ano_inicial = data_inicial.substr(6,4);
ano_final = data_final.substr(6,4);
if(ano_inicial > ano_final){
document.getElementById(idElemento).focus();
alert(mensagem);
return false;
}else{
if (ano_inicial == ano_final){
if(mes_inicial > mes_final){
document.getElementById(idElemento).focus();
alert(mensagem);
return false;
}else{
if(mes_inicial == mes_final){
if(dia_inicial > dia_final){
document.getElementById(idElemento).focus();
alert(mensagem);
return false;
}
}else{
return true;
}
}
}
}
}
estou dando uma passada muito rapidamente, mas parece q vc está esquecendo de passar o id :
<p:inputMask id=dataComunicacao value=#{planilhaBean.acidenteSelecionado.dataComunicacao} style=width:120px size=10 maxlength=10 required=true mask=99/99/9999 onblur=Compara_Datas(gE(edicao:dataAcidente).value,gE(edicao:dataComunicacao).value,A data da comunicação não pode ser maior que a do acidente,edicao:dataAcidente);>
e o js recebe 4 argumentos:
function Compara_Datas(data_inicial,data_final,mensagem,idElemento){
verifica essa passagem se está tudo ok.
att Davi
<p:inputMask id=dataComunicacao value=#{planilhaBean.acidenteSelecionado.dataComunicacao} style=width:120px size=10 maxlength=10 required=true mask=99/99/9999 onblur=Compara_Datas(gE(edicao:dataAcidente).value,gE(edicao:dataComunicacao).value,A data da comunicação não pode ser maior que a do acidente,edicao:dataAcidente);>
e o js recebe 4 argumentos:
function Compara_Datas(data_inicial,data_final,mensagem,idElemento){
verifica essa passagem se está tudo ok.
att Davi
este cara está mandando o id correto:
<p:inputMask id=dataComunicacao value=#{planilhaBean.acidenteSelecionado.dataComunicacao} style=width:120px size=10 maxlength=10 required=true mask=99/99/9999 onblur=Compara_Datas(gE(edicao:dataAcidente).value,gE(edicao:dataComunicacao).value,A data da comunicação não pode ser maior que a do acidente,edicao:dataAcidente);>
id=dataComunicacao é relmente edicao:dataAcidente...
bom se for... vc vai ter q fazer uns alert, nos ifs do seu javascript p entender o q tá acontecendo
att Davi
<p:inputMask id=dataComunicacao value=#{planilhaBean.acidenteSelecionado.dataComunicacao} style=width:120px size=10 maxlength=10 required=true mask=99/99/9999 onblur=Compara_Datas(gE(edicao:dataAcidente).value,gE(edicao:dataComunicacao).value,A data da comunicação não pode ser maior que a do acidente,edicao:dataAcidente);>
id=dataComunicacao é relmente edicao:dataAcidente...
bom se for... vc vai ter q fazer uns alert, nos ifs do seu javascript p entender o q tá acontecendo
att Davi









