Bom,
Eu estou querendo fazer uma máscara de entrada tipo a do Banco do Brasil, não sei se alguém aqui já a viu.
Enfim, o valor inicial da caixa é "__/__/____" e ao receber foco, o foco já cai pra depois do último traço, e ao o cara começar a digitar a data vem sendo formatada de trás pra frente, ou seja se ele digitou 26022, fica assim "__/_2/6022".. Ou seja, ela vem substituindo os ultimos _ pelos valores digitados.
Bom, a primeira pergunta é:
Ninguém nunca viu um script desse?
Ps: Já vi alguns na seção Tutoriais mas esses apenas formatavam a data, e não faziam como eu quero.
Como posso fazer, pra o foco começar la do último caracter e vir substituindo os _ pelos valores digitados?
Como testar se o valor da tecla 'teclada' é letra ou número?
Máscara
Started By edmais, 27/07/2005, 10:09
4 replies to this topic
#1
Posted 27/07/2005, 10:09
Eduardo Batista
#2
Posted 27/07/2005, 10:19
Bom, testar se é número é bico:
http://www.mredkj.co...s/validate.html
Digitar, aparentemente do final, é com direction="rtl".
Agora o efeito de máscara, só dá pra ver nas páginas internas ou tem alguma que nós possamos ver?
http://www.mredkj.co...s/validate.html
Digitar, aparentemente do final, é com direction="rtl".
Agora o efeito de máscara, só dá pra ver nas páginas internas ou tem alguma que nós possamos ver?
#3
Posted 27/07/2005, 10:56
Bom, não. Pois é um miniaplicativo Java, apesar de rodar no Browser. Mas pra ter-se uma idéia, creio eu que é só baixar aquele programa pra rodar direto da máquina do cliente.
Mas outras dúvidas:
. Como que eu faço também, pra quando a caixa receber o foco, ela ficar toda selecionada? Tipo um Ctrl A;
.Como eu testo se o carater em determinada posição é uma barra ("/") por exemplo? --> if(campo.caracter[i]=="/"){ <-- ???
Mas outras dúvidas:
. Como que eu faço também, pra quando a caixa receber o foco, ela ficar toda selecionada? Tipo um Ctrl A;
.Como eu testo se o carater em determinada posição é uma barra ("/") por exemplo? --> if(campo.caracter[i]=="/"){ <-- ???
Eduardo Batista
#4
Posted 27/07/2005, 11:01
OK, mas em qual página eu posso ver ele?
Respostas:
1- document.getElementById("IDdaCaixa").select();
2- campo.charAt (i) == "/"
Respostas:
1- document.getElementById("IDdaCaixa").select();
2- campo.charAt (i) == "/"
#5
Posted 27/07/2005, 12:11
Pra poder ter acesso a esta página você precisa ter conta lá, fazer um cadastro de BB empresa lá e tal, baixar o programa e rodar na máquina, complicado né? se quiseres eu tiro umas shots dela aqui e posto.
A idéia é quase isso:
Mas se você rodar aí vai ver que falta bastante coisa.. Rs.
Bom, ao ir deletando, eu queria que, ele fosse deletando os caracteres do input mas já fosse jogando a máscara novamente, por exemplo:
Temos: "27/07/2005"
Deletando: "27/0 / "
...
Deletando: "2 / / "
E por aí vai, sempre mantendo a máscara.
Outra coisa, setei lá o direction rtl e tudo mais, mas eu digito o primeiro caracter, o cursor volta la pro inicio do input ao invéz de se manter no fim, porém se insere um caracter o caracter fica lá no fim, mas com o cursor no inicio do input..
Cursor --> |
1. | / / 2
2. | / / 26
3. | /26/0220
Era pra ficar:
1. / / 2|
2. / / 26|
3. /26/0220|
Me dá umas idéias aí..
A idéia é quase isso:
<script language="JavaScript" type="text/javascript"> <!-- function BlockStr(y,Campo) { var key; var keychar; var reg; if(window.event) { key = y.keyCode; } else if(y.which) { key = y.which; } keychar = String.fromCharCode(key); reg = /\d/; if (reg.test(keychar)){ var str = Campo.value; str = str.replace(" ",keychar); Campo.value = str; } } //--> </script> </head> <body onLoad="form.data.focus();"> <form name="form"> <input type="text" name="data" id="data" value=" / / " onFocus="this.select();" onKeyPress="BlockStr(event,this);" maxlength="10" style="direction:rtl;"/> </form>
Mas se você rodar aí vai ver que falta bastante coisa.. Rs.
Bom, ao ir deletando, eu queria que, ele fosse deletando os caracteres do input mas já fosse jogando a máscara novamente, por exemplo:
Temos: "27/07/2005"
Deletando: "27/0 / "
...
Deletando: "2 / / "
E por aí vai, sempre mantendo a máscara.
Outra coisa, setei lá o direction rtl e tudo mais, mas eu digito o primeiro caracter, o cursor volta la pro inicio do input ao invéz de se manter no fim, porém se insere um caracter o caracter fica lá no fim, mas com o cursor no inicio do input..
Cursor --> |
1. | / / 2
2. | / / 26
3. | /26/0220
Era pra ficar:
1. / / 2|
2. / / 26|
3. /26/0220|
Me dá umas idéias aí..
Eduardo Batista
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)