Ir para conteúdo
Fórum Script Brasil
  • 0

Formulário PHP


sergio.lima

Pergunta

Olá, Pessoal

Estou com um problema em vários formulários. É que estou usando uma function em javascript para formatar o conteúdo de campo numérico. Abrindo o formulário com o browser InternetExplorer funciona bem, mas se tento abrir com o Mozila por exemplo, nada funciona. Como resolvo isso? Alguém pode me ajudar? Obrigado a todos.

Sergio

<td width="70%">
        <font size="1" face="Verdana, Arial, Helvetica, sans-serif">
        <input type="text" name="txtCPF" size="11" maxlength="11" onKeyPress="return txtBoxFormat(this, '99999999999', event);">
        </font>
      </td>
function txtBoxFormat(objeto, sMask, evtKeyPress)
{
   var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

   if(document.all) { // Internet Explorer
     nTecla = evtKeyPress.keyCode; }
   else if(document.layers) { // Nestcape
     nTecla = evtKeyPress.which;
    }

   sValue = objeto.value;

   // Limpa todos os caracteres de formatação que já estiverem no campo.

   sValue = sValue.toString().replace( "-", "" );
   sValue = sValue.toString().replace( "-", "" );
   sValue = sValue.toString().replace( ".", "" );
   sValue = sValue.toString().replace( ".", "" );
   sValue = sValue.toString().replace( "/", "" );
   sValue = sValue.toString().replace( "/", "" );
   sValue = sValue.toString().replace( ":", "" );
   sValue = sValue.toString().replace( ":", "" );
   sValue = sValue.toString().replace( "(", "" );
   sValue = sValue.toString().replace( "(", "" );
   sValue = sValue.toString().replace( ")", "" );
   sValue = sValue.toString().replace( ")", "" );
   sValue = sValue.toString().replace( " ", "" );
   sValue = sValue.toString().replace( " ", "" );
   fldLen = sValue.length;
   mskLen = sMask.length;

   i = 0;
   nCount = 0;
   sCod = "";
   mskLen = fldLen;

   while (i <= mskLen) {
     bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
     bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

     if (bolMask) {
        sCod += sMask.charAt(i);
        mskLen++; }
     else {
        sCod += sValue.charAt(nCount);
        nCount++;
     }

     i++;
   }

   objeto.value = sCod;

   if (nTecla != 8) { // backspace
      if (sMask.charAt(i-1) == "9") { // apenas números...
         return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
      else { // qualquer caracter...
         return true;
      } }
   else {
      return true;
   }
}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Tente deixar o javascript assim:

function txtBoxFormat(objeto, sMask, evtKeyPress)
{
   var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

   if(document.layers) { // Nestcape
     nTecla = evtKeyPress.which;
    }else{ //Outros navegadores
     nTecla = evtKeyPress.keyCode;
   }

   sValue = objeto.value;

   // Limpa todos os caracteres de formatação que já estiverem no campo.

   sValue = sValue.toString().replace( "-", "" );
   sValue = sValue.toString().replace( "-", "" );
   sValue = sValue.toString().replace( ".", "" );
   sValue = sValue.toString().replace( ".", "" );
   sValue = sValue.toString().replace( "/", "" );
   sValue = sValue.toString().replace( "/", "" );
   sValue = sValue.toString().replace( ":", "" );
   sValue = sValue.toString().replace( ":", "" );
   sValue = sValue.toString().replace( "(", "" );
   sValue = sValue.toString().replace( "(", "" );
   sValue = sValue.toString().replace( ")", "" );
   sValue = sValue.toString().replace( ")", "" );
   sValue = sValue.toString().replace( " ", "" );
   sValue = sValue.toString().replace( " ", "" );
   fldLen = sValue.length;
   mskLen = sMask.length;

   i = 0;
   nCount = 0;
   sCod = "";
   mskLen = fldLen;

   while (i <= mskLen) {
     bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
     bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

     if (bolMask) {
        sCod += sMask.charAt(i);
        mskLen++; }
     else {
        sCod += sValue.charAt(nCount);
        nCount++;
     }

     i++;
   }

   objeto.value = sCod;

   if (nTecla != 8) { // backspace
      if (sMask.charAt(i-1) == "9") { // apenas números...
         return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
      else { // qualquer caracter...
         return true;
      } }
   else {
      return true;
   }
}

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...