Galera estou com um problema, tenho um metodo ja pronto na verdade é um JavaScript para colocar a mascara da hora e evitar os digitos de letras mas nao estou conseguindo faze-los funcionar, sera que estou chamando de forma errada?? o da data esta funcionando perfeita mente.
O Script esta na linha 114 e é chamado na linha 407 e 414.
<SCRIPT LANGUAGE="JavaScript">
// colocar no evento onKeyUp passando o objeto como parametro
function formata(val)
{
var pass = val.value;
var expr = /[[telefone removido]]/;
for(i=0; i<pass.length; i++){
// charAt -> retorna o caractere posicionado no índice especificado
var lchar = val.value.charAt(i);
var nchar = val.value.charAt(i+1);
if(i==0){
// search -> retorna um valor inteiro, indicando a posição do inicio da primeira
// ocorrência de expReg dentro de instStr. Se nenhuma ocorrencia for encontrada o método retornara -1
// instStr.search(expReg);
if ((lchar.search(expr) != 0) || (lchar>3)){
val.value = "";
}
}else if(i==1){
if(lchar.search(expr) != 0){
// substring(indice1,indice2)
// indice1, indice2 -> será usado para delimitar a string
var tst1 = val.value.substring(0,(i));
val.value = tst1;
continue;
}
if ((nchar != '/') && (nchar != '')){
var tst1 = val.value.substring(0, (i)+1);
if(nchar.search(expr) != 0)
var tst2 = val.value.substring(i+2, pass.length);
else
var tst2 = val.value.substring(i+1, pass.length);
val.value = tst1 + '/' + tst2;
}
}else if(i==4){
if(lchar.search(expr) != 0){
var tst1 = val.value.substring(0, (i));
val.value = tst1;
continue;
}
if ((nchar != '/') && (nchar != '')){
var tst1 = val.value.substring(0, (i)+1);
if(nchar.search(expr) != 0)
var tst2 = val.value.substring(i+2, pass.length);
else
var tst2 = val.value.substring(i+1, pass.length);
val.value = tst1 + '/' + tst2;
}
}
if(i>=6){
if(lchar.search(expr) != 0) {
var tst1 = val.value.substring(0, (i));
val.value = tst1;
}
}
}
if(pass.length>10)
val.value = val.value.substring(0, 10);
return true;
}
function Bloqueia_Caracteres(evnt){
//Função permite digitação de números
if (clientNavigator == "IE"){
if (evnt.keyCode < 48 || evnt.keyCode > 57){
return false
}
}else{
if ((evnt.charCode < 48 || evnt.charCode > 57) && evnt.keyCode == 0){
return false
}
}
}
function AjustaHora(input, evnt){
//Ajusta máscara de Hora e só permite digitação de números
if (input.value.length == 2){
if(clientNavigator == "IE"){
input.value += ":";
}else{
if(evnt.keyCode == 0){
input.value += ":";
}
}
}
//Chama a função Bloqueia_Caracteres para só permitir a digitação de números
return Bloqueia_Caracteres(evnt);
}
//-->
</script>
</tr>
<tr>
<td align="left" valign="top" class="style4">Data / Hora Início:</td>
<td colspan="3" class="style5"><label>
<input name="DataInicio" type="text" id="DataInicio" onKeyUp="formata(this);" value="<%=Data_inicio_tarefa_manual%>" size="14" maxlength="10">
<span class="style14">(dd/mm/yyyy)</span>
<input type="text" name="HoraInicio" id="HoraInicio" onKeyUp="AjustaHora(input,evnt);" value="<%=Hora_inicio_tarefa_manual%>" size="8" maxlength="5">
(hh:mm) </label></td>
</tr>
<tr>
<td align="left" valign="top" class="style4">Data / Hora Término:</td>
<td colspan="3" class="style5"><input type="text" name="DataFim" id="DataFim" onKeyUp="formata(this);" value="<%=Data_fim_tarefa_manual%>" size="14" maxlength="10">
<span class="style14">(dd/mm/yyyy)</span>
<input type="text" name="HoraFim" id="HoraFim" onKeyUp="AjustaHora(input,evnt);" value="<%=Hora_fim_tarefa_manual%>" size="8" maxlength="5">
(hh:mm)</td>
</tr>
Gostaria de agradecer pela ajuda!
Obrigado!