Closed sergiomendonca closed 3 years ago
Se alguem ja resolveu esse problema, por favor, poste aqui a solucao.
function mascaraMutuario(o,f){ v_obj=o v_fun=f setTimeout('execmascara()',1) }
function execmascara(){ v_obj.value=v_fun(v_obj.value) }
function cpfCnpj(v){
//Remove tudo o que não é dígito v=v.replace(/\D/g,"")
if (v.length <= 14) { //CPF
//Coloca um ponto entre o terceiro e o quarto dígitos
v=v.replace(/(\d{3})(\d)/,"$1.$2")
//Coloca um ponto entre o terceiro e o quarto dígitos
//de novo (para o segundo bloco de números)
v=v.replace(/(\d{3})(\d)/,"$1.$2")
//Coloca um hífen entre o terceiro e o quarto dígitos
v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2")
} else { //CNPJ //Coloca ponto entre o segundo e o terceiro dígitos v=v.replace(/^(\d{2})(\d)/,"$1.$2")
//Coloca ponto entre o quinto e o sexto dígitos
v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3")
//Coloca uma barra entre o oitavo e o nono dígitos
v=v.replace(/\.(\d{3})(\d)/,".$1/$2")
//Coloca um hífen depois do bloco de quatro dígitos
v=v.replace(/(\d{4})(\d)/,"$1-$2")
}
return v
}
function validateDocumentFinal(self) { var value = unmask(self.value) if (value.length === 11) { return validateCpf(self) } else if (value.length === 14) { return validateCnpj(self) } else { displayError(self) return false } }
/**
/**
/**
/**
/**
/**
/*
/**
/**
/**
/**
if (navigator.userAgent.search("Firefox") >= 0) { function creditCardMask(cc, event) {
if (mascaraInteiro(cc) == false) {
event.return = false;
}
return formataCampo(cc, '0000 0000 0000 0000', event);
}
} else { function creditCardMask(cc) {
if (mascaraInteiro(cc) == false) {
event.return = false;
}
return formataCampo(cc, '0000 0000 0000 0000', event);
}
}
/**
/**
@returns {Boolean} */ function maskNotNumber(event) { if (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46 || event.keyCode < 48 || (event.keyCode > 57 && event.keyCode < 96) || (event.keyCode > 105)) {
return true; } event.return = false; return false;
}
/**
function mascaraInteiro() { function tecla(event){ var e = event.keyCode || e.which;
if ( e == 8 || e == 9 || e == 46 || (e > 47 && e < 58) || (e > 95 && e < 106)) {
return true;
} event.return = false; return false; } }
/**
@returns {Boolean} */ function formataCampo(campo, Mascara, evento) { var boleanoMascara;
var Digitato = evento.keyCode; var exp = /-|.|\/|(|)| /g var campoSoNumeros = campo.value.toString().replace(exp, "");
var posicaoCampo = 0; var NovoValorCampo = ""; var TamanhoMascara = campoSoNumeros.length; ;
if (Digitato != 8) { // backspace for (i = 0; i <= TamanhoMascara; i++) { boleanoMascara = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".") || (Mascara.charAt(i) == "/")) boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == "(") || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " ")) if (boleanoMascara) { NovoValorCampo += Mascara.charAt(i); TamanhoMascara++; } else { NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); posicaoCampo++; } } campo.value = NovoValorCampo; return true; } else { return true; } }
/**
Valeu!! Por gentileza, em qual arquivo do módulo você inseriu essas máscaras e validações? É esse aqui (vendor/pagseguro/magento2/view/frontend/web/js/model/direct-payment-validator.js) ? E muito obrigado, você é muito gentil.
Testei aqui funcionou, só uma expressao regular que ficou meio bugada, pode ser que seja por causa da formatacao, entao só trocar
var exp = /-|.|\/|(|)| /g
proximo a linha 380
Ai ficou tudo certo, obrigado novamente.
Ao clicar na opcao cartao de credito, quando estou no navegador firefox as mascaras dos INPUTS nao funcionam , as teclas tambem sao completamente bloqueadas, sejam inputs de numeros ou letras. Só esta funcionando direito no google chrome.
Outra coisa desagradavel eh que o cliente pode clicar em finalizar tranquilamente sem ter terminado de preencher os dados de cartao de credito, fazendo ocorrer na tela um ERRO que poderia ser evitado.
VERSAO DO MAGENTO 2.1.9