Jump to content
joaopedropeterle

Máscara de Dinheiro para Formulario

Recommended Posts

Boa tarde pessoal!

 

Preciso fazer os valores digitados no campo do formulário serem escritos de forma inversa, pois se trata de dinheiro, nada do que fiz deu certo até agora... meu código está assim:

 

var valor = $("#valor");
			valor.keyup(() => {
				
					valor.val(VMasker.toPattern(valor.val(), "999.999.999,99", {reverse: true}));
			 
			})

#valor é a ID do campo onde será inserido... Não sei se fui bem claro, sou apenas iniciante...rsrs

Share this post


Link to post
Share on other sites

@joaopedropeterle

 

Veja se o código abaixo resolve o que você quer:

<script type="text/javascript">
function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if (whichCode == 13) return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}
</script>

Valor R$: <input type="search" name="moeda" id="moeda" placeholder="0,00" onKeyPress="return(MascaraMoeda(this,'.',',',event))" />

Espero ter ajudado.

 

Att.

Felipe Coutinho

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Rafaeloliveiraz
      Olá pessoal,
       
      Eu estou tentando criar uma variavel para fazer um checker no conteúdo do input de um form antes de realizar o envio... Por exemplo SE o conteúdo do campo começar com "http://facebook.com/..." ele faz o envio normalmente, porém caso o começo seja OUTRO preciso que substituia o valor preenchido por um valor padrão e ai realize o envio.
       
      Acredito que com if e else resolva meu problema, eu até criei o bloqueio para que o conteúdo não seja enviado se for diferente mas por algum motivo ele só está funcionando se a pessoa tentar enviar uma segunda vez, como se o bloquei só funcionasse após a pessoa realizar o primeiro envio, então acabei desativando. O códito está somente assim agora:
       
       
      <form action="" id="shortForm" method="post"> <div> <input type="text" name="url" id="url" size="60" value="http://" onfocus="clearText(this)" class="input round-left" /> <button class="input button round-right" id="create">Encurtar URL</button> </div> </form>  
       
      Este form é para um encurtador de URL, onde eu quero que somente URLs do meu site sejam encurtadas, e caso alguém utilize uma URL para outro site preciso que o form altere o link dessa pessoa para outro padrão sem que ela saiba...
       
      Eu até montei a função mas não estou sabendo como posso mesclar com o input do form:
       
      <!DOCTYPE html> <html> <body> <p>Mudar conteúdo de envio</p> <input id="url" type="text"> <button onclick="myFunction()">Encurtar</button> <p id="envio"></p> <script> function myFunction() { var link = document.getElementById("url").value; var text; // Se a URL estiver certa if (link === "http://meusite.com/...") { input = "Enviado sem alterações"; // Se a url for outra } else { input = "http://urlcorreta.com"; } document.getElementById("envio").innerHTML = input; } </script> </body> </html>  
      Alguém poderia me dizer se isso poderia funcionar e como eu deveria seguir para mesclar ambos?
       
      Obrigado.
       
    • By kaioneresm
      Olá, tenho um form que pede um codigo enviado por email para o usuário confirmar, essa mesma pagina já está gerada o código dentro de uma variável. 
      O que eu preciso é que no momento que o usuário digitar o codigo nesse input text que é composto de 6 digitos, o botão submit habilite (mas somente se o que foi digitado corresponder a variavel). 
       
      Segue abaixo o meu Form.
       
      <input type="text" class="textenv" maxlength="6" placeholder="Digite o código enviado:"></input> <button type="submit" class="btncria" >Confimar<font color="#fff"></font></button> Alguem sabe como utilizar js nesse caso? Muito obrigado!!
    • By fideles
      Fala pessoal, tudo na paz? Como anda a quarentena ? Todos se cuidando....
       
      Seguinte, uma dúvida ou navalhada minha,
       
      Tenho um form simples, básico mesmo onde trampo, só para fazermos levantamento quando alguém chega.
       
      Nome da pessoa
      Um regime de contratação (CLT ou PJ) (input do tipo radio) (Nos value dos input radio tem CLT e PJ)
      Nome da empresa (campo oculto) (aqui funciona na boa)
       
      Preciso fazer com que se a pessoa clicar em PJ fazer ela preencher obrigatoriamente o campo "Nome da empresa" se ela for CLT não faz nada.
       
      Já tentei da seguinte forma e não da certo, talvez esteja errando por bobeira.
       
      if(empty($tipo_contratacao == "PJ")) { echo "<meta http-equiv='refresh' content='0; pesquisa_retorno_2.php'><script>alert('O campo nome da empresa não foi preenchido')</script>" ; return false; }  
      Alguém tem uma luz ?
       
      Obrigado.
    • By mbs.dev
      Bom estou fazendo um collapse porem ele esta show/hide todos os elementos,
      quando eu clico em sensores chief ele abre todos os sensores chief era para ser apenas aquelas sensores chief q pertence aquele gateway.
      como eu poderia fazer para mostra/esconder apenas naqueles certo.
      tela:

       
      assim esta montado minha função:

       
      butão:

       
      é coloquei aki:

    • By fsantos
      tenho o seguinte codigo e queria uma ajuda para fazer a iteração correta no arquivo json

       
      <!DOCTYPE html>
      <html>
      <head>
      <title>Mapa</title>
      <meta charset="utf-8" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <style>
            body{margin:0 auto; width:480px; font-family: arial;}
          input.text, textarea, select {
          border: 1px solid #C0C0BA;
          -webkit-box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.17);
          -moz-box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.17);
          box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.17);
          }
      input, textarea, select {
          -webkit-border-radius: 12px;
          -moz-border-radius: 12px;
          border-radius: 12px;
          }
            @media only screen and (max-width: 600px) {
                body {
              width:90%;
                     }
              }
      </style>
      <script type="text/javascript" src="https://fcosantos.com.br/js/jquery-3.3.1.min.js"></script>
          <script type="text/javascript">
        $(document).ready(function () {
          $.getJSON('https://fcosantos.com.br/projetos/covidForm/portugal.json', function (data) {
            var items = [];
            var options = '<option value="">Escolha o distrito</option>';
            $.each(data, function (key, val) {
              options += '<option value="' + val.nome + '">' + val.nome + '</option>';
            });
            $("#estados").html(options);
            $("#estados").change(function () {
              var options_cidades = '';
              var str = "";
              $("#estados option:selected").each(function () {
                str += $(this).text();
              });
              $.each(data, function (key, val) {
                if(val.nome == str) {
                  options_cidades += '<option value="">Escolha o conselho</option>';
                  $.each(val.cidades, function (key_city, val_city) {
                    options_cidades += '<option value="' + val_city.nome + '">' + val_city.nome + '</option>';
                  });
                }
              });
              $("#cidades").html(options_cidades);

              //Busca das freguesias
              $("#cidades").change(function () {
              var options_freguesias = '';
              var str2 = "";
              $("#cidades option:selected").each(function () {
                str2 += $(this).text();
              });
              $.each(data, function (key2, val2) {
                if(val2.cidades.nome == str2) {
                  options_freguesias += '<option value="">Escolha a freguesia</option>';
                  $.each(val2.cidades.freguesias, function (key_freg, val_freg) {
                    options_freguesias += '<option value="' + val_freg.nome + '">' + val_freg.nome + '</option>';
                  });
                }
              });
              $("#freguesias").html(options_freguesias);
              }).change();

              }).change();
          });
        });
          </script>
          </head>
          <body>
              <form method="get" action="">

              <select name="uf" id="estados" style="width:47%; padding:5px; margin-bottom:8px; float:left;">
                  <option value=""></option>
              </select>
              <select name="cid" id="cidades" style="width:47%; padding:5px; margin-bottom:8px; float:right;">
              </select>
              <select name="freg" id="freguesias" style="width:100%; padding:5px; margin-bottom:8px;">
              </select>
              <input type="submit" value="Buscar" style="width:100%; padding:5px; margin-bottom:20px; ">
      </form>
      </body>
      </html>

      O que ocorre é que ao selecionar o primeiro select o segundo é preenchido altomaticamente, mais nao entendi porque o segundo não.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.