INPUT TEXT RETORNA UNDEFINED

PEGUDO 27/11/2013 13:53:30
#431539
Minha página está retornando o valor [Ô]undefined[Ô] ao criticar o CPF da pessoa.
O código é este:



O Html do input é este:


Ao digitar o CPF, o código funciona corretamente até o penútimo caracter:


Ao digitar o último caracter, o javascript não é nem executado e o input retorna:


Podem ajudar?
KERPLUNK 27/11/2013 17:45:49
#431547
Deixa ver se entendi, o que você quer fazer é ir formatando o CPF à medida que digita, isso?
PEGUDO 28/11/2013 08:22:00
#431556
sim,
Na verdade o código está correto, tanto que se eu trocar o caracter [Ô]-[Ô] (traço) pelo [Ô].[Ô] (ponto) não dá o erro.
Parece que o input está tratando o traço como sinal de subtração e não como string.
Ao digitar o último caracter, gera o erro, o javascript não é nem executado e o input retira a máscara e mostra o [Ô]undefined[Ô].

Obs. Se eu retirar o javascript do input e digitar o CPF na mão, com ponto e traço, não ocorre o erro.
OCELOT 28/11/2013 11:45:43
#431566
Resposta escolhida
Eu testaria aqui o seu código para ver o que pode ter errado, mas você fez o favor de colocar uma imagem então não vou digitar ele, por menor que seja.

Mas o que pode ser o erro é na linha

valor = valor.replace([Ô]-[Ô]);

Veja que você não está passando o valor para ser localizado mas não o que deve ser colocado no lugar dele no replace, e como os dois valores são requeridos nessa função ele provavelmente está passando o valor como undefined, talvez mudando para ficar igual os outros funcione

valor = valor.replace([Ô]-[Ô], [Ô][Ô]);

E quando postar dúvidas nunca poste imagens de código, sempre coloque como texto.
Tópico encerrado , respostas não são mais permitidas