Ir para conteúdo
  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por danielpinho
      Boa tarde pessoal,
       
      Estou desenvolvendo um sistema de pagamento via cartão de crédito que requer a execução de um ajax (request https) quando o usuário digita o número do cartão, a fim de capturar a bandeira do mesmo. O javascript deve enviar via ajax somente os 6 primeiros dígitos do cartão.
       
      A função já está funcionando parcialmente, da seguinte forma: quando o usuário digita o sexto dígito, o ajax faz a requisição e retorna o resultado.
       
      O problema é que quando o usuário continua digitando o restante do número do cartão, o ajax continua fazendo uma requisição a cada tecla pressionada, o que vai acabar sobrecarregando desnecessariamente o meu servidor.
       
      Eu sei que o ideal seria acionar a função somente quando a minha keyword tivesse lenght=6 (assim, ao continuar digitando a função não seria acionada), porém tem pessoas que copiam e colam o número do cartão de uma vez, e isso geraria um bypass na função...
       
      Além disso, o sistema deve ser capaz de reconhecer que houve uma eventual mudança nos 6 números digitados inicialmente, para fazer uma nova requisição ajax com esses números novos.
       
      A solução que pensei, em síntese, foi criar uma variável chamada "lastquery", inicialmente com o valor "000000". Digamos que os 6 dígitos pesquisados estivessem na variável "sixdigits". 
       
      Quando a requisição ajax fosse feita, a variável "lastquery" teria valor alterado para o mesmo valor de "sixdigits".
       
      E a requisição ajax ficaria condicionada da seguinte forma:   if (lasquery !== sixdigits) { executa ajax }.
       
      O problema é que não está dando certo. Ele continua executando normalmente, mesmo quando o valor de lastquery é o mesmo valor de sixdigits.
       
      Alguém mais inteligente do que eu consegue me ajudar? 
       
      Segue o código que não está funcionando perfeitamente. Reparem que fiz um alert para verificar o que estava dando errado, mas a mensagem que recebo no alert é sempre algo do tipo: "10100 is not equal to 10100". Não consigo entender porque isso acontece, já que lá em cima coloquei a condicionante !==.
       
      Obrigado!
       
      <form method="post"> <input type="text" name="ccnumber" id="ccnumber" value="" onkeyup="getcardbin()"> </form> <script> var lastquery = "000000"; function getcardbin() { var min_length = 6; var keyword = $('#ccnumber').val(); if (keyword.length >= min_length) { var justsix = keyword.substring(0, 6); if (justsix !== lastquery) { $.ajax({ url: '/getcardbin.cgi', type: 'POST', data: { 'tkn': 'token_interno', 'tid': 'token_interno', 'bin': justsix }, success:function(data){ $('#returnmsg').prepend(data); alert(justsix + ' is not equal to ' + lastquery); var lastquery = justsix; } }); } } } </script>  
    • Por quimera
      foi ser direto
      não estou conseguindo pegar um parâmetro em funções predefinidas do chrome.
       
      //toda vez que uma tecla for pressionada document.body.onkeypress = function (e) { stg({sim: true}, function(i){ if(i.sim){ console.log(e.keyCode);//undefined //como pegar a tecla que foi pressionada? //Não há parâmetro e não aceita globais } }); } //pegar parâmetros no storage function stg(param, call) {     chrome.storage.sync.get(param, function (param)     {         call(param);     }); }  
    • Por vpontessilva
      Fala galera, de buenas? Estou tendo o problema esse simples código meu: 
      Quero que ele retorne o valor da soma depois de inserir a quantidade no campo valor1 e selecionar o combustivel no campo select
      sem ter que clicar em calcular ou algo do tipo: Segue script que eu fiz
       

       
      <!DOCTYPE html> <html> <body> <input type="text" id="valor1" onkeyup="myFunction()"> <select id="valor2" onkeyup="myFunction()">     <option value="eletricidade">Eletricidade</option>     <option value="gasolina">Gasolina</option>     <option value="oleo">Oleo</option> </select> <p>O resultado é: <span id="resultado"></span></p> <script> function myFunction() {     var x = document.getElementById("valor1").value;     var y = document.getElementById("valor2").value;               if(y == Eletricidade) {         res = parseInt(x) * 2;         }         else if (y == Gasolina) {         res = parseInt(x) * 3;         }         else {         res = parseInt(x) * 4;         };              document.getElementById("resultado").innerHTML = res; } </script> </body> </html> Onde estou garoteando? Ele não exibe o resultado da multiplicação
    • Por kernmatheus
      Srs,
       
      Tenho um campo A readonly, que recebe a soma dos campos B e C por um script.
      Quando o valor de B ou C é alterado, executa um script que atualiza o valor de A, eu preciso que no momento que o valor de A for atualizado execute outra soma. Como posso identificar essa alteração para executar outra função?
       
      *Já tentei com onchange, onvalue, oninput...., direto no HTML, tentei também com onkeyup no jquery, mas nenhum funcionou.
       
      Lembrando que o campo é readonly.
    • Por josenilson
      Olá galera, tudo blz,  por  favor,  como posso resolver esse problema.
       
      Tenho um select option onde eu seleciono o banco exemplo (BRADESCO, BRASIL, ITAU  ) e um input que seria a agencia do banco escolhido.
       
      apos eu selecionar o banco desejado preciso que o input fique com a mascara de acordo com o banco escolhido,  eu tentei   com uma tomada de decisão   e dentro desta decisão uma chamada de função mas não sei se seria isso o certo, pois não acertei colocar o onkeypress na função.  abaixo esta o código.  desde já agradeço a todos. 
       
      Função vazia onde deveria estar o onkeypress com a mascara. 
      <?php function brasil(){ } ?> Aqui esta o select junto com o input. 
       
      <select style="width:200px;font-size: 13px" name="banco" required class="form-control"> <option value="">BANCO</option> <option value="BRASIL">BRASIL</option> <option value="BRADESCO">BRADESCO</option> <option value="CAIXA_ECONOMICA">CAIXA ECONOMICA</option> <option value="SANTANDER">SANTANDER</option> <option value="ITAU">ITAU</option> </select> <input style="width:167px;font-size:13px; "type="text" name="agencia" class="form-control" placeholder="AGENCIA" > <?php if (!empty($_POST['banco'])){ $BANCO = $_POST["banco"]; $BRASIL = "BRASIL"; $BRADESCO = "BRADESCO"; if ($BANCO == $BRASIL){ brasil(); }ELSE{ echo "ESCOLHA UM BANCO"; } } ?>  
       
×

Informação importante

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