Ir para conteúdo

Arquivado

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

  • 0
Guh Domingues

Duvida com o submit de uma div

Pergunta

fgd.PNG.af0688eb5ce38b1fd9ae04f9c9aa4138.PNG

 

Ao digitar o Cep e apertar enter, o produto e adicionado no carrinho,  ao invés de "Calcular o frete". Para calcular o frete tem que digitá-lo e aperta o Button "Calcular Frete".

 

Eu queria saber se tem alguma maneira mais fácil de inserir algum código na div do campo input e ao apertar enter executar a div "Calcular Frete" ao em vez de Executar o Button "Comprar". Que automaticamente envia o produto para o Carrinho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Se eu entendi seu caso....

Tanto o input text como o input "calcular frete" e o input "comprar" estão em um único form, é isso?

Não, pois como disse não entendi direito o seu problema, mas se for o que eu estou pensando fiz um exemplo simples aqui de como você pode ter 2 ou mais submits em um único form.

Spoiler

<form method="POST">
    <input name="cep" id="cep" type="text" placeholder="digite o cep aqui"/>
    <input name="valor" id="valor" type="hidden" />
    <button onclick="return calcularFrete()">Calcular frete</button>
    <hr />
    <button onclick="return comprar()">Comprar</button>

    <div id="mostra_o_resultado"></div>
</form>

<script>
function calcularFrete() {
    var resultado = document.getElementById('mostra_o_resultado'); // Pegar o elemento onde vou testar o código
    var cep = document.getElementById('cep').value; // Pego o valor do input do cep
    if (!cep) { // Valor de cep está vazio
        resultado.innerHTML = "Informe seu CEP";
    } else {
        var calc = calculo(cep); // Envio o cep digitado para a função calcular
        document.getElementById('valor').value = calc; // Insiro o valor do calculo em um input oculto
        resultado.innerHTML = 'Valor do frete: ' + calc; // Mostro o teste.
    }
    return false;
}


function comprar() {
    var resultado = document.getElementById('mostra_o_resultado'); // Pegar o elemento onde vou testar o código
    var valor = document.getElementById('valor').value; // Pego o resultado do calculo
    var cep = document.getElementById('cep').value;
    var resposta; // Uso para depuração
    if (!valor) { // Valor do frete ainda não foi calculado
        resposta = 'Você tem que calcular o frete primeiro';
    }else {
        resposta = 'Validadando o form<br><b>CEP</b> informado: ' + cep + ' /total do frete <b>frete</b>: ' + valor;
    }
    document.getElementById('mostra_o_resultado').innerHTML = resposta;
    return false;
}

function calculo(cepRecebido) {
    /*
     * Não sei como é sua função que calcula o frete então vou retornar qualquer coisa por exemplo mesmo.
     * Mas de qualquer forma o calculo deve ser baseado o parâmetro recebido.
     */
    var a = 5;
    var b = (a * 5);
    return b;
}
</script>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Alessandro Bodão
      Fala galerinha, 
       
      Tenho um container com um título (h1) no cabeçalho do meu site, esse container ocupa metade da tela (50vw), e eu gostaria que esse título ocupasse toda a largura desse container, independente do seu tamanho ou do tamanho do monitor, de forma com que a palavra tenha exactamente o mesmo tamanho do container (vou anexar uma foto de exemplo). Já tentei todos os valores pra essa h1, como % e vw... mas nada parece fazer sentido.
       
       

    • Por Giovanird
      Olá a todos!
      tenho varias divs com o mesmo ID e nome de classe. Preciso que a cor da div seja conforme uma escala de valores.
      Estou tentando pegar o valor pelo nome da classe, pois as divs possuem o mesmo id e não tive sucesso. Segue script:
      <div class="planos" id="1" value="74">74</div> <div class="planos" id="1" value="29">29</div> <div class="planos" id="1" value="55">55</div> <div class="planos" id="1" value="74">74</div> <div class="planos" id="1" value="63">63</div> <div class="planos" id="1" value="55">55</div> <script type="text/javascript"> var valueElement = document.getElementsByClassName('.planos').getAttribute('value'); console.log(valueElement); if (valueElement >= "70") { document.getElementsByClassName('.planos').style.backgroundColor == '#4caf50'; } else if (valueElement >= "50" && valueElement <= "69") { document.getElementsByClassName('.planos').style.backgroundColor == '#ffbc00'; } else { document.getElementsByClassName('.planos').style.backgroundColor == '#f44336'; } </script>  
       
    • Por Lenon John
      Detalhe importante:
      Se eu digito MINHA_CHAVE_JADLOG incorreta, ai eu recebo um retorno informado que as credenciais estão incorretas.
      Se eu digito MINHA_CHAVE_JADLOG corretamente, não recebo nenhum retorno.

      $dados = [
        'frete' => [
          'cepori' => '29010070',
          'cepdes' => '29300040',
          'frap' => '',
          'peso' => 2,
          'cnpj' => '00000000000100',
          'conta' => '000001',
          'contrato' => '',
          'modalidade' => 4,
          'tpentrega' => 'D',
          'tpseguro' => 'N',
          'vldeclarado' => 100,
          'vlcoleta' => ''
        ]
      ];
      $postfields = http_build_query($dados);
       
      $header = array();
      $header[] = 'Authorization: Bearer MINHA_CHAVE_JADLOG';
      $header[] = 'Content-Type: application/json';
      $header[] = 'description:';
       
      $curl = curl_init('https://www.jadlog.com.br/embarcador/api/frete/valor/');
      curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
      curl_setopt($curl, CURLOPT_POST, true);
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
       
      $exec = curl_exec($curl);
      $jadlog = json_decode($exec);
       
      curl_close($curl);
       
      print_r($jadlog);
    • Por GOD
      Quero um código div ou qualquer outra forma, para atingi esse resultado do link
       https://drive.google.com/file/d/0B8Ssi9zuKdQWMExWeVpGUXN0MlRsUzdmdGRuTFl2eU1yejB3/viewocal
       
      Para ficar nesse local.
      https://drive.google.com/file/d/0B8Ssi9zuKdQWeGZSSnVBaFBxM1FUN1hEeWdrRzhTNWI0Q01Z/view
       
      Meu objetivo é que em cada quadro da div, fique uma noticia de um site especifico, que pretendo colocar através de plugin rss.
       
       
      Enfim espero uma ajuda sobre como posso fazer isso
       
       
    • Por MarceloEBM
      Baixei a tabela do melhorenvio e adaptei para o formato da webcontinental que eles disponibilizam, enviei para o gerente de conta e ele disse que rodou, não atualizou e não tem nenhuma mensagem de erro pra me passar.
       
      Posso estar fazendo errado, alguém tem alguma experiencia com esta tabela de frete?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.