Jump to content

lgbruno

Membros
  • Contagem de Conteúdo

    2
  • Ingressou

  • Última visita

Clientes & Parceiros

  • Você é um cliente TecnoSpeed?
    Não
  • Você é um parceiro da Casa do Desenvolvedor?
    Não

Conquistas de lgbruno

0

Reputação na Comunidade

  1. Tenho um campo dinamico de endereco que ao adicionar mais conjunto de campos ele so preenche o primeiro campo, tenho que digitar manualmente cada conjunto de campos do endereço e tambem nao repete a mascara do cep nos campos adicionados. Tem alguma forma de fazer isso de forma automatica somente digitando os cep e todos campos serem preenchidos de cada conjunto de endereco adicionado com as mascaras do onkeypress? nessa parte tenho os inputs com o botao de adicionar mais campos: <div id="endereco"> <div class="grupo_endereco"> <button type="button" onclick="adicionarCampo()">+</button> <br><br> <input type="text" name="cep[]" id="cep" maxlength="9" placeholder="CEP" onblur="pesquisacep(this.value);" onkeypress="$(this).mask('#####-###');"><br> <input type="text" name="rua[]" id="rua" placeholder="Rua"> <input type="text" name="numero[]" id="numero" placeholder="n"> <input type="text" name="complemento[]" id="complemento" placeholder="Complemento"> <input type="text" name="bairro[]" id="bairro" placeholder="Bairro"> <input type="text" name="cidade[]" id="cidade" placeholder="Cidade"> <input type="text" name="uf[]" id="uf" placeholder="UF"> </div> </div> após clicar em adicionar mais campos ele entra nesse codigo javascript onde repete a criação do conjunto de campos de endereço com botao de remover caso necessario o campo: var controleCampo = 1; function adicionarCampo(){ controleCampo++; // console.log(controleCampo); document.getElementById('endereco').insertAdjacentHTML('beforeend', '<br><div class="grupo_endereco" id="campo' + controleCampo + '"><button type="button" id="' + controleCampo + '" onclick="removerCampo(' + controleCampo + ')"> - </button><br><br><input type="text" name="cep[]" id="cep" maxlength="9" placeholder="CEP"><br><input type="text" name="rua[]" id="rua" placeholder="Rua"><input type="text" name="numero[]" id="numero" placeholder="n"><input type="text" name="complemento[]" id="complemento" placeholder="Complemento"><input type="text" name="bairro[]" id="bairro" placeholder="Bairro"><input type="text" name="cidade[]" id="cidade" placeholder="Cidade"><input type="text" name="uf[]" id="uf" placeholder="UF"></div>'); } function removerCampo(idCampo){ // console.log("campo remover: " + idCampo); document.getElementById('campo' + idCampo).remove(); } e o local onde faz a busca do cep esta dessa forma abaixo sendo utilizado pelo onblur do campo de cep: function limpa_formulário_cep() { //Limpa valores do formulário de cep. document.getElementById('rua').value=(""); document.getElementById('bairro').value=(""); document.getElementById('cidade').value=(""); document.getElementById('uf').value=(""); } function meu_callback(conteudo) { if (!("erro" in conteudo)) { //Atualiza os campos com os valores. document.getElementById('rua').value=(conteudo.logradouro); document.getElementById('bairro').value=(conteudo.bairro); document.getElementById('cidade').value=(conteudo.localidade); document.getElementById('uf').value=(conteudo.uf); } //end if. else { //CEP não Encontrado. limpa_formulário_cep(); alert("CEP não encontrado."); } } function pesquisacep(valor) { //Nova variável "cep" somente com dígitos. var cep = valor.replace(/\D/g, ''); //Verifica se campo cep possui valor informado. if (cep != "") { //Expressão regular para validar o CEP. var validacep = /^[0-9]{8}$/; //Valida o formato do CEP. if(validacep.test(cep)) { //Preenche os campos com "..." enquanto consulta webservice. document.getElementById('rua').value="..."; document.getElementById('bairro').value="..."; document.getElementById('cidade').value="..."; document.getElementById('uf').value="..."; //Cria um elemento javascript. var script = document.createElement('script'); //Sincroniza com o callback. script.src = '//viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback'; //Insere script no documento e carrega o conteúdo. document.body.appendChild(script); } //end if. else { //cep é inválido. limpa_formulário_cep(); alert("Formato de CEP inválido."); } } //end if. else { //cep sem valor, limpa formulário. limpa_formulário_cep(); } }; grato desde já quem puder dar uma ajuda com o problema so faltando isso pra eu conseguir finalizar esse sistema.
  2. Tenho esse código que pega o valor digitado da distancia no input faz um calculo e envia pro input de preço e caso tenha algum valor no desconto abate do valor do preço. qnd faço o envio pro banco funciona perfeitamente. porem qnd retorno esses dados para alteração não funciona e o campo de preço ao tentar modificar os valores aparece "NaN" (Not a Number). Não tenho noção de jQuery e JavaScript tentei de diversas formas. Acredito que algo simples como resetar as informações do input ao iniciar novo digito poderia ser o caminho, mas por não conhecer os códigos para isso, fiquei meio perdido. Alguém poderia me ajudar nessa questão? jQuery(document).ready(function(){ jQuery('input').on('keyup',function(){ if(jQuery(this).attr('name') === 'preco'){ return false; } var distancia = (jQuery('#distancia').val() == '' ? 0 : jQuery('#distancia').val()); /* recebe o valor com ponto do input */ var desconto = ((jQuery('#desconto').val().replace(',','.')) == '' ? 0 : (jQuery('#desconto').val().replace(',','.'))); /* converte o valor recebido com virgula em ponto */ var preco = ((parseFloat(distancia) * 1.20) - parseFloat(desconto)); /* arredonda o valor a duas casas apos a virgula */ /* valor de 1.20 escolhido como preco por km */ var preco = preco.toFixed(2).replace('.',','); /* converte o valor com ponto para virgula na exibicao do input */ jQuery('#preco').val(preco); /* envia para o input */ }); }); <fieldset> <legend>Distancia </legend> <input type="text" name="distancia" value="<?php echo $row["distancia_pedido"];?>" onkeypress="$(this).mask('##0.0', {reverse: true});">Km </fieldset> <fieldset> <legend>Desconto</legend> <input type="text" name="desconto" id="desconto" onkeypress="$(this).mask('#.##0,00', {reverse: true});" value="<?php echo number_format($row["desconto_pedido"], 2, ',', '.');?>" required> </fieldset> <fieldset> <legend>Preço</legend> <input type="text" name="preco" id="preco" onkeypress="$(this).mask('#.##0,00', {reverse: true});" value="<?php echo number_format($row["preco_pedido"], 2, ',', '.');?>" required> </fieldset>
×
×
  • Create New...