Eu tenho uma função que formata um campo data enquanto estou digitando dados no mesmo. O problema é que no IE7 ela não acusava erro de javascript e agora que fui testar no IE6 ocorreu este problema.
Aparece o erro Object expected quando clico no botão que realiza a inserção no banco de dados. Após a mensagem o registro é inserido normalmente.
Segue a função para darem uma olhada (o erro aparece na linha do IF):
function FormatMask(objTexto, sMask){
var i, sMaskTemp, sObjTemp, iLength;
//alert("event.keyCode: " + event.keyCode);
// Se foi pressionado BACKSPACE sair da rotina
if ( event.keyCode == 8)
{
return false;
}
//objTexto.value = "";
//return;
// Obter o tamanho da string
iLength = objTexto.value.length;
// Obter a mascara deste caracter
sMaskTemp = sMask.charAt(iLength-1);
// Passar pra maiusculo
sMask = sMask.toUpperCase();
// Obter o caracter digitado
sObjTemp = objTexto.value.charAt(iLength-1);
//sObjTemp = String.fromCharCode(event.keyCode);
//
// Obter a mascara do próximo caracter
//
/*
// Se o próximo caracter é um divisor
if (sMask.length > iLength)
{
sMaskTemp = sMask.charAt(iLength);
}
*/
// Se o caracter Verificar se mascara: "-" ou "/" ou ":"
if ( sMaskTemp != "A" && sMaskTemp != "9" && sMaskTemp != "*")
{
// Inserir o caracter da máscara entre o que já estava digitado e o caracter digitado neste momento
objTexto.value = objTexto.value.substr(0, iLength-1) + sMaskTemp + sObjTemp;
// Atualizar o tamanho da string
iLength = objTexto.value.length;
} // Verificar se mascara: "-" ou "/" ou ":"
// Varrer o conteúdo da caixa de texto, em busca de caracteres inválidos
for (i=0; i<iLength; i++)
{
sMaskTemp = sMask.charAt(i);
sObjTemp = objTexto.value.charAt(i);
//alert(sMaskTemp);
//alert("i: " + i + "\n\n sObjTemp: " + sObjTemp + "\n\n sObjTemp.length: " + sObjTemp.length + "\n\n sMaskTemp: " + sMaskTemp + "\n\n sMaskTemp.length: " + sMaskTemp.length);
// Verificar se mascara: numero
if ( sMaskTemp == "9")
{
if ( isNaN(sObjTemp) )
{
objTexto.value = objTexto.value.substr(0, i);
return false;
}
} // Verificar se mascara: numero
// Verificar se mascara: letra
else if ( sMaskTemp == "A" )
{
// a(97)-z(122) / A(65)-Z(90)
if ( !( ( sObjTemp.charCodeAt(0) >= 65 && sObjTemp.charCodeAt(0) <= 90) || ( sObjTemp.charCodeAt(0) >= 97 && sObjTemp.charCodeAt(0) <= 122) ) )
{
objTexto.value = objTexto.value.substr(0, i);
return false;
}
} // Verificar se mascara: numero
// Verificar se mascara: qualquer
else if ( sMaskTemp != sObjTemp )
{
//alert("sMaskTemp != sObjTemp");
objTexto.value = objTexto.value.substr(0, i) + sMaskTemp;
return false;
} // Verificar se mascara: numero
} // Varrer o conteúdo da caixa de texto
// MASCARA: 999-AAA/A
}
Pergunta
ACPF
Hi Folks,
Eu tenho uma função que formata um campo data enquanto estou digitando dados no mesmo. O problema é que no IE7 ela não acusava erro de javascript e agora que fui testar no IE6 ocorreu este problema.
Aparece o erro Object expected quando clico no botão que realiza a inserção no banco de dados. Após a mensagem o registro é inserido normalmente.
Segue a função para darem uma olhada (o erro aparece na linha do IF):
Editado por fercosmigAdicionar tag's
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.