Ir para conteúdo

Arquivado

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

Khayro

JavaScript executa alert, mas não altera input type="text"

Recommended Posts

Boa tarde, Pessoal

 

Estou criando um site em PHP com JavaScript para utilização de máscaras de campo, porém tive que alterar o Layout recentemente e então copiei as pastas, Ex.: Projeto1 e copiei para Projeto2.

Depois que fiz essa cópia e criei as novas páginas HTML o JavaScript apresenta a mensagem do Alert, mas não coloca mais a máscara e não apaga o conteúdo quando se digita letras.

 

Estou usando o Campo CNPJ, chamando a função mascCnpj()

 

Espero ter sido claro!

 

Código HTML:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="JavaScript" src="JS/scriptsTeste.js"></script>
<link rel="icon" href="Imagens/logo.ico" type="image/x-icon">
<link rel="shortcut icon" href="Imagens/logo.ico" type="image/x-icon">
<title>Lojas Automotivas - Seja Bem Vindo!</title>
<link rel="stylesheet" type="text/css" href="CSS/styleLogin.css">
</head>
<body background="Imagens/fundo.jpg" onload="document.login.Login.focus(); noBack();">
<div id="logo">
<img src="Imagens/logo.ico" width="100" height="100"/>
</div>
<div id="btn">
<a href="#">Sobre</a>
<a href="#">Ajuda</a>
</div>
<h1>Lojas Automotivas</h1>
<h2>Entre em nosso site</h2>
<div id="corpoEntre">
<div id="entre">
<form action="../Controllers/loginC.php" method="post" name="login">
<label>Login:</label> <input type="text" name="Login" size="8" maxlength="15"/>
<label>Senha:</label> <input type="password" name="Senha" size="8" maxlength="8"/>
<input type="submit" name="bentrar" value="Entre"/>
<div id="esqSenha">
<a href="#">Esqueci minha senha</a>
</div>
</form>
</div>
</div>
<h3>Ou se cadastre grátis!</h3>
<div id="corpoCad">
<form method="post" action="../Controllers/validLojaC.php">
<div id="nomeLoja">
<label>Nome Loja:</label>
<input type="text" name="NomeLoja" size="20" maxlength="20"/>
</div>
<div id="cnpj">
<label> CNPJ:</label>
<input type="text" id="cnpj" name="CNPJ" size="20" maxlength="18" onkeypress="mascCnpj();" onfocus="mascCnpj2();"/>
</div>
<div id="email">
<label>Email:</label>
<input type="text" name="Email" size="20" maxlength="40"/>
</div>
<div id="cep">
<label>CEP:</label>
<input type="text" id="cep" name="CEP" size="20" maxlength="9" onkeypress="mascCep()" onfocus="mascCep2();"/>
</div>
<div id="btnCad">
<input type="submit" name="bcad" value="Cadastre-se"/>
</div>
</form>
</div>
<div id="rodape">
<center><b>Copyright ©</b></center>
</div>
</body>
</html>
Código JavaScript:
function mascCnpj(){
$cnpj = document.getElementById("cnpj");
if(mascaraInteiro($cnpj)==false){
event.returnValue = false;
alert('Só digite números!');
$cnpj.value = "";
}
return formataCampo($cnpj, '00.000.000/0000-00', event);
}
function mascCnpj2(){
$cnpj = document.getElementById("cnpj");
return formataCampo($cnpj, '00.000.000/0000-00', event);
}
function formataCampo(campo, Mascara, evento) {
var boleanoMascara;
var Digitato = evento.keyCode;
exp = /\-|\.|\/|\(|\)| /g
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;
}
}
function mascaraInteiro(){
if (event.keyCode < 48 || event.keyCode > 57){
event.returnValue = false;
return false;
}
return true;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se é só pra tratar mascara usa o jquery.maskedinput.js. Segue aqui o link do arquivo se interessar https://github.com/ckcesar/GestorWebParaTratarBannerNoticiasDeSites/blob/master/site_cesar/_KM/public_html/assets/js/jquery.maskedinput.js

 

Com esse Jquery é só chamar depois na aplicação e boa.

 

jQuery(function($){
$("#cnpj").mask("99.999.999/9999-99");
});

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.