Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ricardo Fressa

Não consigo apagar quando tem algo errado

Recommended Posts

Olá, estou usando uma funcao para fazer a mascara no meu text input, mas se eu errar algum numero de cnpj por exemplo, nao consigo apagar, apaga somente os dois ultimos, e se coloco no comeco do text input volta pro final... Alguém sabe resolver esse problema?

 

function mascara(l,m,i){
//l: local do objeto --> this;
//m: máscara;
//i: caractere inicial (posição zero da máscara;

var iCount = l.value.length;

//Digite os símbolos especiais que permanecerão em seus locais corretos:
var simbolosEspeciais = "()/-.";        
        
        if (iCount < m.length) {
                 //Verificando se foi passado o parâmetro inicial "i":
                if (iCount == 1 && i != ""){
                        l.value = i+l.value;    
                } else {
                
                        if (simbolosEspeciais.indexOf(m.substr(iCount,1)) != -1) {
                                l.value = l.value+m.substr(iCount,1);
                        
                                if (m.substr(iCount+1,1) == " ") {
                                l.value = l.value+" ";
                                }
                        }
                
                        if (m.substr(iCount,1) == " ") {
                                l.value = l.value+" ";
                        }
                }

        } else {
                l.value = l.value.substr(0,m.length);
        }
} 


e meu text input

 

<input name="cnpj" type="text" id="cnpj" size="20" maxlength="18" OnKeyPress='mascara(this,"##.###.###/####-##","")'/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É, no Opera e no Firefox aconteceu esse erro, funcionou direitinho no Chrome e no IE. Olha, testei váriooooos input masks agora pouco, e cheguei à conclusão de que a melhor coisa é usar JQuery, porque uns em JS puro, quando eu digitava muito rápido, ele não mascarava ¬¬ e esse seu script por causa da compatiblidade. Então:

 

- Adicione esses dois scripts à HEAD:

 

<script type='text/javascript' src='http-~~-//www.tidbits.com.br/download/jquery-1.2.6.pack.js'></script>
<script type='text/javascript' src='http-~~-//www.tidbits.com.br/download/jquery.maskedinput-1.1.4.pack.js'></script>

- E mascare do jeito que quiser, fiz do CNPJ pra você:

 

<script type="text/javascript">
$(document).ready(function(){
              $("input[@name=cnpj]").mask("99.999.999/9999-99");
});
</script>

 

Simples, né? O INPUT que tiver o nome cnpj vai ser mascarado como. Você pode criar mais máscara...

 

Sites: http://digitalbush.com/projects/masked-input-plugin/ e http://www.tidbits.com.br/plugin-de-mascara-para-jquery-masked-input

 

Espero ter ajudado, até mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.