Ir para conteúdo

POWERED BY:

Arquivado

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

Gabriel Duarte

Erro por mais de 1 Javascript

Recommended Posts

Olá, sou novo como programador e estou a construir um sistema basico.

porem quero ussa javascript em algumas coisa e estou com o seguinte problema.

 

estou usando 2 mask e um ajax para selecionar as cidades do estado selecionado, tudo por link.

porem uma esta meio que bloqueando a outra, ou seja se uso as 3 na pagina uma para de funcionar.

 

ja mudei a ordem, e a que não funcionava começa a funcionar e a outra para, ja testei uma por uma e todas funcionaram.

 

não entendo muito de java ainda, tive ajuda de um amigo para fazer. porem ele também não sabe o erro.

 

Queria saber se alguém pode me ajudar?

 

Códigos.

 

Pagina de cadastro

<!DOCTYPE hmtl>
<html lang="pt-br">
	<head>
		<meta charset="UTF-8"/>
		<link rel="stylesheet" type="text/css" href="css.css">
		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
		<script type="text/javascript" src="js/jquery-cpf.js"></script>
		<script type="text/javascript" src="js/jquery-ceptel"></script>
	</head>
	<body>
		<div id="menu">
			<ul>
				<li>
					<a href="index.php">Inicio</a>
				</li>
				<li>
					<a href="produtos.php">Produtos</a>
				</li>
				<li>
					<a href="login.php">Login</a>
				</li>
				<li>
					<a href="cadastro.php">Cadastro</a>
				</li>
			</ul>
		</div>
		<div id="conteudo">
			<form action="processarcad.php" method="post">
				<label>nome</label>
				<input name="nome" type="text" placeholder="Digite seu Nome" title="Somente letras" pattern="[a-z\s]+$" required><br />
				<label>login</label>
				<input name="login" type="text" maxlength="20" placeholder="Digite Um Login" required><br />
				<label>senha</label>
				<input name="senha" type="text" maxlength="20" placeholder="DIgite Uma Senha" required><br />
				<label>confirmar senha</label>
				<input name="confi_senha" type="text" maxlength="20" placeholder="Digite novamente sua Senha" required><br />
				<label>cpf</label>
				<input name="cpf" type="text" placeholder="___.___.___-__" onblur="validarCPF(this.value);" onkeypress="mascara(this, cpf_mask)" required><br />
				<label>email</label>
				<input name="email" type="email" placeholder="Digite um Email Valido" title="Somente E-mails São Validos" required><br />
				<label>tel</label>
				<input name="tel" type="tel" maxlength="12" placeholder="Digite o Numero do seu Telefone e seu DDD" onkeypress="mascara(this, '## ####-####')" required><br />
				<label>end</label>
				<input name="end" type="text" placeholder="Digite seu Endereço" required><br />
				<label>n imovel</label>
				<input name="n_imovel" type="text" placeholder="Digite o Nº do seu Imovel" maxlength="4" required><br />
				<label>cep</label>
				<input name="cep" type="text" placeholder="Digite seu Cep" onkeypress="mascara(this, '#####-###')" maxlength="9" required><br />
				<tr>
					<td>estado</td>
					<td>
						<select name="estados">
							<option>escolha um estado</option>
							
							<?php
								require("conectar.php");
								$resultado = mysqli_query($conexao, "SELECT id_estados, uf FROM estados ORDER BY uf;");
								if($resultado == false){
									echo("erro");
								}
								else{
									while ($row = mysqli_fetch_array($resultado)) {
										echo ("<option value='$row[id_estados]'>$row[uf]</option> <br>");
									}
								}
							?>

						</select>
					</td>
				</tr><br />
				<tr>
					<td>cidade</td>
					<td>
						<select name="cidades">
							<option>escolha um estado</option>							

							<script>
							
								$(document).ready(function(e) {
									$('[name="estados"]').on('change',function(){
										var Estados = $(this).val();
										$.get( "obtercidades.php", { estados:Estados }, function( data ) {
											$('[name="cidades"]').html(data);
										});
									});
								});

							</script>
							
						</select>
					</td>
				</tr>
				<input class="but" type="submit" value="enviar" />
				<input class="but" type="reset" value="Limpar" />
			</form>
		</div>
	</body>
</html>

jquery-cpf.js

/* CPF */

		/*apresenta box*/
		function setText(){
		    
			var x = document.getElementById('option1');
		        var valor = x.options[x.selectedIndex].value;
			var texto = x.options[x.selectedIndex].text;
			
		    div = document.getElementById('newInput');
		    inseMat = document.getElementById('mat');
		    insetNom = document.getElementById('nomeA');
		     if(valor !== 'null')
		     {
		            div.style.display = '';
		            inseMat.value=valor;
		            insetNom.value=texto;
		     }
		}
		/*fim apresenta box*/

		/*onblur="validarCPF(this.value);"  chamada função no html*/
		/*valida cpf e cria mascara*/

		function validarCPF( cpf ){
			var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
			
			if(!filtro.test(cpf))
			{
				window.alert("CPF inválido. Tente novamente.");
				return false;
			}
		   
			cpf = remove(cpf, ".");
			cpf = remove(cpf, "-");
			
			if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" ||
				cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||
				cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" ||
				cpf == "88888888888" || cpf == "99999999999")
			{
				window.alert("CPF inválido. Tente novamente.");
				return false;
		   }

			soma = 0;
			for(i = 0; i < 9; i++)
			{
				soma += parseInt(cpf.charAt(i)) * (10 - i);
			}
			
			resto = 11 - (soma % 11);
			if(resto == 10 || resto == 11)
			{
				resto = 0;
			}
			if(resto != parseInt(cpf.charAt(9))){
				window.alert("CPF inválido. Tente novamente.");
				return false;
			}
			
			soma = 0;
			for(i = 0; i < 10; i ++)
			{
				soma += parseInt(cpf.charAt(i)) * (11 - i);
			}
			resto = 11 - (soma % 11);
			if(resto == 10 || resto == 11)
			{
				resto = 0;
			}
			
			if(resto != parseInt(cpf.charAt(10))){
				window.alert("CPF inválido. Tente novamente.");
				return false;
			}
			
			return true;
		 }
		 
		function remove(str, sub) {
			i = str.indexOf(sub);
			r = "";
			if (i == -1) return str;
			{
				r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
			}
			
			return r;
		}

		/** onkeypress="mascara(this, cpf_mask)" chama no html
		   * MASCARA ( mascara(o,f) e execmascara() ) CRIADAS POR ELCIO LUIZ
		   * elcio.com.br
		   */

		function mascara(o,f){
			v_obj=o
			v_fun=f
			setTimeout("execmascara()",1)
		}

		 function execmascara(){
			v_obj.value=v_fun(v_obj.value)
		}

		function cpf_mask(v){
			v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
			v=v.replace(/(\d{3})(\d)/,"$1.$2")    //Coloca ponto entre o terceiro e o quarto dígitos
			v=v.replace(/(\d{3})(\d)/,"$1.$2")    //Coloca ponto entre o setimo e o oitava dígitos
			v=v.replace(/(\d{3})(\d)/,"$1-$2")   //Coloca ponto entre o decimoprimeiro e o decimosegundo dígitos
			return v
		}
		//http://silas.theducks.com.br/arquivos/validacao_formatacao_js.html
		/*fim valida cpf e cria mascara*/

jquery-ceptel.js

/*
 A função Mascara tera como valores no argumento os dados inseridos no input (ou no evento onkeypress)
 onkeypress="mascara(this, '## ####-####')"
 onkeypress = chama uma função quando uma tecla é pressionada, no exemplo acima, chama a função mascara e define os valores do argumento na função
 O primeiro valor é o this, é o Apontador/Indicador da Mascara, o '## ####-####' é o modelo / formato da mascara
 no exemplo acima o # indica os números, e o - (hifen) o caracter que será inserido entre os números, ou seja, no exemplo acima o telefone ficara assim: 11-4000-3562
 para o celular de são paulo o modelo deverá ser assim: '## #####-####' [11 98563-1254]
 para o RG '##.###.###.# [40.123.456.7]
 para o CPF '###.###.###.##' [789.456.123.10]
 Ou seja esta mascara tem como objetivo inserir o hifen ou espaço automáticamente quando o usuário inserir o número do celular, cpf, rg, etc 

 lembrando que o hifen ou qualquer outro caracter é contado tambem, como: 11-4561-6543 temos 10 números e 2 hifens, por isso o valor de maxlength será 12
 <input type="text" name="telefone" onkeypress="mascara(this, '## ####-####')" maxlength="12">
 neste código não é possivel inserir () ou [], apenas . (ponto), - (hifén) ou espaço
 */

 function mascara(t, mask){
 var i = t.value.length;
 var saida = mask.substring(1,0);
 var texto = mask.substring(i)
 if (texto.substring(0,1) != saida){
 t.value += texto.substring(0,1);
 }
 }

Obitercidades.php

<?php
	require("conectar.php");
	$Estados = addslashes($_GET['estados']);
	$resultado = mysqli_query($conexao, "SELECT id_cidades, nome_cidades FROM cidades WHERE cidades_id_estados = '".$Estados."'  ORDER BY nome_cidades;");
	if($resultado == false){
		echo("erro");
	}else{
		while ($row = mysqli_fetch_array($resultado)) {
			echo("<option value='$row[id_cidades]'>$row[nome_cidades]</option> <br>");

		}
}
?>

E o link do ajax para obter cidades

https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js

 

Obrigado pela atenção. ^^

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.