Jump to content


Photo

Mascarar Campos Com Javascript


  • Faça o login para participar
8 replies to this topic

#1 giselelm

giselelm

    12 Horas

  • Usuários
  • 173 posts
  • Sexo:Feminino
  • Localidade:Curitiba

Posted 13/03/2007, 11:18

Tenho um javascrip para mascarar campos

[codebox]<script language="JavaScript">
/***
* Descrição.: formata um campo do formulário de
* acordo com a máscara informada...
* Parâmetros: - objForm (o Objeto Form)
* - strField (string contendo o nome
* do textbox)
* - sMask (mascara que define o
* formato que o dado será apresentado,
* usando o algarismo "9" para
* definir números e o símbolo "!" para
* qualquer caracter...
* - evtKeyPress (evento)
* Uso.......: <input type="textbox"
* name="xxx".....
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);">
* Observação: As máscaras podem ser representadas como os exemplos abaixo:
* CEP -> 99.999-999
* CPF -> 999.999.999-99
* CNPJ -> 99.999.999/9999-99
* Data -> 99/99/9999
* Tel Resid -> (99) 999-9999
* Tel Cel -> (99) 9999-9999
* Processo -> 99.999999999/999-99
* C/C -> 999999-!
* E por aí vai...
***/

function txtBoxFormat(objForm, strField, 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 = objForm[strField].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( " ", "" );
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) == "/"))
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++;
}

objForm[strField].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;
}
}
//Fim da Função Máscaras Gerais
</script>
<form id="Form" name="Form" method="post" action="loja_autorizacao.php">

ex
data nascimento 99/99/9999
cpf 999.999.999-99

<input name="data_nasc" type="text" class="campo" id="data_nasc" onKeyPress="return txtBoxFormat(document.Form, 'data_nasc', '99/99/9999', event);" size="10" maxlength="10">
<input name="cpf" type="text" class="campo" id="cpf" onkeypress="return txtBoxFormat(document.Form, 'cpf', '999.999.999-99', event);" size="14" maxlength="14">[/codebox]

no ie, ele está funcionando perfeitamente mas no firefox não.... o que posso fazer?
no firefox não consigo digitar nada nos campos com mascaras

Edição feita por: Firehalk, 07/10/2008, 19:17.


#2 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 13/03/2007, 11:25

Bem tá na seção errada mas tudo bem .... (por agora) ...

O problema é que o FireFox não extá reconhecendo os metodos "document.all" e "document.layers", então vc deve colocar um metodo que ele reconheça :)

Arrumei essa parte em seu script, ou seja substituia uma pela outra.

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

Eu testei aqui e funciono no FF 2.0 ....

#3 giselelm

giselelm

    12 Horas

  • Usuários
  • 173 posts
  • Sexo:Feminino
  • Localidade:Curitiba

Posted 13/03/2007, 11:56

valeuuuuuuuuuuuu

e desculpe estar na sessão errada.

#4 Junior SK

Junior SK

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino

Posted 26/04/2007, 12:11

Olá Giselelm
Me amarrie no código mais esta dando erro

objForm[strField].value = sCod;

estou testando no IE 7 e no Firefox
em todo os dois ta dando esse erro.
Se puder me ajudar fico grato.
Anteciosamnete, José Carlos.
abraço

#5 Totta

Totta

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 07/10/2008, 16:53

Olá Giselelm
Me amarrie no código mais esta dando erro

objForm[strField].value = sCod;

estou testando no IE 7 e no Firefox
em todo os dois ta dando esse erro.
Se puder me ajudar fico grato.
Anteciosamnete, José Carlos.
abraço



Também passei por isso, e ja fiz as correções.

Nas linhas 80 a 83 do código dado temos o seguinte:

objForm[strField].value = sCod;

if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...

Substitua para:

if (nTecla != 8) { // backspace
objForm[strField].value = sCod;
if (sMask.charAt(i-1) == "9") { // apenas números...

Avisa se não funcionar, que tentaremos outra coisa... :rolleyes:

#6 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 12/10/2017, 02:16

Buy Priligy Thailand viagra Amoxicillin Sulphur Cialis Und Ssri

#7 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 29/10/2017, 08:49

Viagra Psychische Impotenz Que Es El Cialis Cheapest Online Cialis cialis Keflex Vision Changes
Viagra Kaufen Holland Apotheke Zoloft 100 Without A Prescription viagra online Levitra Package Insert Cialis Gunstigster Preis

#8 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 16/11/2017, 17:22

Online Pharmacy With No Prescription cheap vardenafil 20mg Levitra Without Rx In The United States
Buy Generic Cialis Online Uk Propecia Afectividad viagra Viagra Ayuda Eyaculador Precoz

#9 JeffMalm

JeffMalm

    Super Veterano

  • Usuários
  • 12254 posts
  • Sexo:Feminino
  • Localidade:Mount Carey

Posted 09/02/2023, 08:21

1 nM E2 both at 24 and 48 h clomid donde puedo comprar By the time a woman is in her late forties, she s spent anywhere from ten to twenty years in this hormonal confusion, depending on whether or not she s reproduced
From Israel Prof Shmuel Oren, University of Tel Aviv, Institute of Preventive Cardiology; Prof Joseph B clomid and alcohol a Comparison with human TCGA data
B Fluorescence microscopy 20 shows the eGFP and tRFP expression in MCF7L shPTEN cells after Dox induction for 48 h buy doxycycline 100mg 4 ng l 166 E1, E2, EE2 Natural water, sewage SPE Lichrolut EN HPLC ESI MS MS LOQ E1 1




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq