Jump to content
marcelobbt

Acionar máscara em apenas um campo

Recommended Posts

Encontrei um código para formatar o valor da forma que eu quero, o problema que ele aciona o script para todos os inputs (ver abaixo)

$(function(){
   $('input').bind('keypress',mask.money)
});

Porém queria aplicar apenas a um dos inputs do meu form.

 

Abaixo segue o script completo

var mask = {
    money: function() {
      var el = this
      ,exec = function(v) {
         v = v.replace(/\D/g,"");
         v = new String(Number(v));
         var len = v.length;
         if (1== len)
            v = v.replace(/(\d)/,"0.0$1");
         else if (2 == len)
            v = v.replace(/(\d)/,"0.$1");
         else if (len > 2) {
            v = v.replace(/(\d{2})$/,'.$1');
         }
         return v;
      };
 
      setTimeout(function(){
         el.value = exec(el.value);
      },1);
   }
}
 
$(function(){
   $('input').bind('keypress',mask.money)
});

o input seria o abaixo:

<input type="text" id="valorform" name="valorform">

 

Share this post


Link to post
Share on other sites

@marcelobbt Bom se conseguiu de boa ai mano

 

eu fiz assim e deu certo aqui

 

<script type="text/javascript">
var mask = {
    money: function() {
      var el = this
      ,exec = function(v) {
         v = v.replace(/\D/g,"");
         v = new String(Number(v));
         var len = v.length;
         if (1== len)
            v = v.replace(/(\d)/,"0.0$1");
         else if (2 == len)
            v = v.replace(/(\d)/,"0.$1");
         else if (len > 2) {
            v = v.replace(/(\d{2})$/,'.$1');
         }
         return v;
      };
 
      setTimeout(function(){
         el.value = exec(el.value);
      },1);
   }
}
 
$(function(){
   $('input').bind('keypress',mask.money)
});
</script>

 

  <input type="text" class="form-control" id="valorform" name="valorform" onkeypress="mask.money(this)">

 

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 Ygor Silva
      Boa tarde gente. Tenho meu site em Mobirise, pra pegar leads. 
      Ao cliente clicar em enviar ele só mostra a mensagem de "obrigado, aguarde nosso contato". 
      Eu gostaria que em vez disto, ele encaminhasse ele pra página de obrigado.
      Já tentei um mente de coisas mas não funcionou.
       
      Segue abaixo o código. Este meu formulário é formoid.
      <div data-form-type="formoid">                     <!---Formbuilder Form--->                     <form action="https://mobirise.com/" method="POST" class="mbr-form form-with-styler" data-form-title="Mobirise Form"><input type="hidden" name="email" data-form-email="true" value="A6LDZwZh8SsHY2SXE5G0uDeobTt+vGAPyztLTpaFnJ3YS523L+3ekb+dfC0ljSO2ENKcG2x7MzCrFsvX6BsE84UN+iQwUvASww4aTuqS7DVv4QO8axCqYvnhYxsAOEpX">                         <div class="row">                             <div hidden="hidden" data-form-alert="" class="alert alert-success col-12">Obrigado por deixar seu contato. Em breve ligaremos pra você.</div>                             <div hidden="hidden" data-form-alert-danger="" class="alert alert-danger col-12">                             </div>                         </div>                         <div class="dragArea">                             <div class="col-md-6  form-group" data-for="name">                                 <input type="text" name="name" placeholder="Seu nome" data-form-field="Name" required="required" class="form-control input display-7" id="name-form4-d">                             </div>                             <div class="col-md-6  form-group" data-for="phone">                                 <input type="text" name="phone" placeholder="Telefone" data-form-field="Phone" required="required" class="form-control input display-7" id="phone-form4-d">                             </div>                             <div data-for="email" class="col-md-12  form-group">                                 <input type="text" name="email" placeholder="E-mail" data-form-field="Email" class="form-control input display-7" required="required" id="email-form4-d">                             </div>                                                          <div class="col-md-12 input-group-btn  mt-2 align-center"><button type="submit" class="btn btn-primary btn-form display-4" href="obrigado.html#header3-2j">ENVIAR</button></div>                         </div>                     </form><!---Formbuilder Form--->                 </div>  
    • By Kefatif
      Prezados, bom dia.
       
      Sou novo no fórum, peço desculpas caso esteja postando no local errado.
       
      Estou precisando que o edit abaixo tenha máscara de CPF e verique se o mesmo é válido ou não apresentando mensagem caso seja inválido.
       
      Meu código:
      <label style="width:15%;">CPF<br><input type="text" id="cpf" step="0.1" name="cpf" class="form-control cpf-mask" placeholder="Ex.: 000.000.000-00" style="width:100%"></label>  
      Já tentei diversas formas e não consegui.
       
      Obs.: Sou iniciante em programação web.
       
      Agradecido desde já pelas ajudas que estão por vir.
       
      Muito obrigado!!!
    • By joaopedropeterle
      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
    • By roohmcd
      Galera, seguinte, eu tenho um formulário com dois selects ocultos, eles serão exibidos somente quando eu selecionar uma das opções no select pai, porém toda vez que faço o envio deste ele pega o valor de um select oculto. Tem alguma maneira de fazer com ele só pegue o valor se eu selecionar a opção no select pai ?
       
      Este é meu formulário:
       
      <form id="createusers" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" class="needs-validation" oninput='userrepassword.setCustomValidity(userrepassword.value != userpassword.value ? "Senhas não conferem." : "")' novalidate> <div class="form-group"> <div class="input-group"> <div class="input-group-prepend"> <div class="input-group-text"><i class="fas fa-user-circle"></i></div> </div> <input id="username" name="username" placeholder="Usuário" type="text" aria-describedby="usernameHelpBlock" required="required" class="form-control"> <div class="invalid-feedback">Por favor, digite um nome de usuário válido.</div> </div> <small id="usernameHelpBlock" class="form-text text-muted">Digite um nome de usuário.</small> </div> <div class="form-group"> <div class="input-group"> <div class="input-group-prepend"> <div class="input-group-text"><i class="fa fa-lock"></i></div> </div> <input id="userpassword" name="userpassword" placeholder="Senha" type="password" required="required" class="form-control" aria-describedby="userpasswordHelpBlock"> <div class="invalid-feedback">Por favor, digite uma senha.</div> </div> <small id="userpasswordHelpBlock" class="form-text text-muted">Digite uma senha para o usuário. Sua senha deve ter no mínimo 6 caracteres.</small> </div> <div class="form-group"> <div class="input-group"> <div class="input-group-prepend"> <div class="input-group-text"><i class="fa fa-lock"></i></div> </div> <input id="userrepassword" name="userrepassword" placeholder="Confirme a senha" type="password" required="required" class="form-control" aria-describedby="userrepasswordHelpBlock"> <div class="invalid-feedback">Por favor, confirme a senha.</div> </div> <small id="userrepasswordHelpBlock" class="form-text text-muted">Confirme a senha.</small> </div> <div class="form-group"> <label>Informe o grupo do usuário</label> <select id="usergroup" name="usergroup" class="form-control" required> <option value="">-- Selecione uma opção --</option> <option value="neg">Negado</option> <option value="tot">Total</option> <option value="controlado">Controlado</option> <option value="restrito">Restrito</option> <option value="lib">Liberado</option> <option value="noc">No Cache</option> </select> <div class="invalid-feedback">Por favor, selecione uma opção para informar o grupo do usuário.</div> <small id="usergroupHelpBlock" class="form-text text-muted">Selecione um grupo para o usuário.</small> </div> <div class="form-group"> <label>Selecione o grupo controlado para o usuário</label> <select id="usergroup-controlado" name="usergroup" class="form-control"> <option value="c01">Controlado 01</option> <option value="c02">Controlado 02</option> <option value="c03">Controlado 03</option> </select> </div> <div class="form-group"> <label>Selecione o grupo restrito para o usuário</label> <select id="usergroup-restrito" name="usergroup" class="form-control"> <option value="r01">Restrito 01</option> <option value="r02">Restrito 02</option> <option value="r03">Restrito 03</option> <option value="r04">Restrito 04</option> <option value="r05">Restrito 05</option> <option value="r06">Restrito 06</option> <option value="r07">Restrito 07</option> <option value="r08">Restrito 08</option> <option value="r09">Restrito 09</option> </select> </div> <div class="form-group"> <button id="submitcreateuser" name="submitcreateuser" type="submit" class="btn btn-primary">Criar Usuário</button> </div> </form> E para ocultar estes selects uso os seguintes scripts:
       
      <script type="text/javascript"> (function( $ ){ $.fn.dependsOn = function(element, value,callback) { var elements = this; var isContainer = false; //add change handler to element $(element).change(function(){ var $this = $(this); var showEm = false; if ( $this.is('select') ) { var fieldValue = $this.find('option:selected').val(); if ( !value ) { showEm = fieldValue && $.trim(fieldValue) != ''; } else if (typeof(value) === 'string') { showEm = value == fieldValue; } else if ($.isArray(value)) { showEm = ($.inArray(fieldValue, value) !== -1); } } else if ($this.is('input[type="text"]')){ var fieldValue = $this.val(); if ( !value ) { showEm = fieldValue && $.trim(fieldValue) != ''; } else if (typeof(value) === 'string') { showEm = value == fieldValue; } else if ($.isArray(value)) { showEm = ($.inArray(fieldValue, value) !== -1); } } // add containers for input else if ($this.hasClass('depends-container')){ isContainer=true; var target = $this.find('input[type="text"]'); var fieldValue = target.val(); if ( !value ) { showEm = fieldValue && $.trim(fieldValue) != ''; } else if (typeof(value) === 'string') { showEm = value == fieldValue; } else if ($.isArray(value)) { showEm = ($.inArray(fieldValue, value) !== -1); } } if(isContainer){ elements.each(function(){ $(this).toggle(showEm); if(callback){ callback(); } }); }else{ elements.closest('div').toggle(showEm); if(callback){ callback(); } } }); //hide the dependent fields return elements.each(function(){ var $this= $(this); var isContainer= false; $(element).each(function(index){ var el = $(this); if(el.hasClass('depends-container') && el.find('input[type="text"]').length){ isContainer = true; el = el.find('input[type="text"]'); if(el.val() != '' && $this.is('visible') == false ){ $this.show(); if(callback){ callback(); } } } }); if(!isContainer){ $(this).closest('div').hide(); } }); }; })( jQuery ); </script> <script type="text/javascript"> $('#usergroup-controlado').dependsOn('#usergroup', ['controlado']); $('#usergroup-restrito').dependsOn('#usergroup', ['restrito']); </script> E este é o script que faz o envio do formulário, onde obtenho as informações preenchidas:
       
      <?php if(isset( $_POST['submitcreateuser'] )) { $fullname = $_POST["fullname"]; $username = $_POST["username"]; $userpassword = $_POST["userpassword"]; $userrepassword = $_POST["userrepassword"]; $networkaccess = $_POST["networkaccess"]; $usergroup = $_POST["usergroup"]; $createuser = "$username $fullname $networkaccess $usergroup $userpassword $userrepassword s -a; echo $?"; echo "<pre> >> $createuser << </pre>"; } ?> Os selects ocultos são os do grupo Controlado e Restrito, quando selecionar essas opções ele abre outro select com as opções respectivas, tipo Controlado ele irá exibir o select Controlado 01, Controlado 02, Controlado 03. E assim serve também para a opção Restrito.
       
      Tem algo de errado no meu formulário ?
    • By MirukaBr
      Olá galera, sou bem iniciante em html, porém de pouco em pouco tô tentando aprender. Queria fazer uma espécie de checkout para uma loja que estou fazendo, e pra isso usei uma base de formulário para fazer isso, pois o Mercado Pago não salva seus dados de endereço, então achei melhor fazer uma página de checkout para isso. Com ajuda de um gerador que encontrei fuçando na net, consegui o código que colocarei abaixo, porém no mesmo site do gerador, não oferece o botão de enviar. Queria saber como faço para enviar o formulário para meu e-mail ou outro lugar e após isso redirecionar o comprador para o Mercado Pago para efetuar o pagamento, desde já fico agradecido !!!
       
      Código abaixo:
       
      <form class="form-horizontal">
      <fieldset>
      <!-- Form Name -->
      <legend>Checkout</legend>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Nome ">Nome</label>  
        <div class="col-md-4">
        <input id="Nome " name="Nome " type="text" placeholder="Seu nome" class="form-control input-md">
          
        </div>
      </div>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Sobrenome">Sobrenome</label>  
        <div class="col-md-4">
        <input id="Sobrenome" name="Sobrenome" type="text" placeholder="Seu sobrenome" class="form-control input-md">
          
        </div>
      </div>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Endereço">Endereço</label>  
        <div class="col-md-4">
        <input id="Endereço" name="Endereço" type="text" placeholder="Primeira linha do endereço" class="form-control input-md">
          
        </div>
      </div>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Endereço2">Nº, Complemento...</label>  
        <div class="col-md-4">
        <input id="Endereço2" name="Endereço2" type="text" placeholder="Informações adicionais do endereço" class="form-control input-md">
          
        </div>
      </div>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Cidade">Cidade</label>  
        <div class="col-md-4">
        <input id="Cidade" name="Cidade" type="text" placeholder="Sua cidade" class="form-control input-md">
          
        </div>
      </div>
      <!-- Multiple Checkboxes (inline) -->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Estado">Estado</label>
        <div class="col-md-4">
          <label class="checkbox-inline" for="Estado-0">
            <input type="checkbox" name="Estado" id="Estado-0" value="AC">
            AC
          </label>
          <label class="checkbox-inline" for="Estado-1">
            <input type="checkbox" name="Estado" id="Estado-1" value="AL">
            AL
          </label>
          <label class="checkbox-inline" for="Estado-2">
            <input type="checkbox" name="Estado" id="Estado-2" value="AP">
            AP
          </label>
          <label class="checkbox-inline" for="Estado-3">
            <input type="checkbox" name="Estado" id="Estado-3" value="AM">
            AM
          </label>
          <label class="checkbox-inline" for="Estado-4">
            <input type="checkbox" name="Estado" id="Estado-4" value="BA">
            BA
          </label>
          <label class="checkbox-inline" for="Estado-5">
            <input type="checkbox" name="Estado" id="Estado-5" value="CE">
            CE
          </label>
          <label class="checkbox-inline" for="Estado-6">
            <input type="checkbox" name="Estado" id="Estado-6" value="DF">
            DF
          </label>
          <label class="checkbox-inline" for="Estado-7">
            <input type="checkbox" name="Estado" id="Estado-7" value="ES">
            ES
          </label>
          <label class="checkbox-inline" for="Estado-8">
            <input type="checkbox" name="Estado" id="Estado-8" value="GO">
            GO
          </label>
          <label class="checkbox-inline" for="Estado-9">
            <input type="checkbox" name="Estado" id="Estado-9" value="MA">
            MA
          </label>
          <label class="checkbox-inline" for="Estado-10">
            <input type="checkbox" name="Estado" id="Estado-10" value="MT">
            MT
          </label>
          <label class="checkbox-inline" for="Estado-11">
            <input type="checkbox" name="Estado" id="Estado-11" value="MS">
            MS
          </label>
          <label class="checkbox-inline" for="Estado-12">
            <input type="checkbox" name="Estado" id="Estado-12" value="MG">
            MG
          </label>
          <label class="checkbox-inline" for="Estado-13">
            <input type="checkbox" name="Estado" id="Estado-13" value="PA">
            PA
          </label>
          <label class="checkbox-inline" for="Estado-14">
            <input type="checkbox" name="Estado" id="Estado-14" value="PB">
            PB
          </label>
          <label class="checkbox-inline" for="Estado-15">
            <input type="checkbox" name="Estado" id="Estado-15" value="PR">
            PR
          </label>
          <label class="checkbox-inline" for="Estado-16">
            <input type="checkbox" name="Estado" id="Estado-16" value="PE">
            PE
          </label>
          <label class="checkbox-inline" for="Estado-17">
            <input type="checkbox" name="Estado" id="Estado-17" value="PI">
            PI
          </label>
          <label class="checkbox-inline" for="Estado-18">
            <input type="checkbox" name="Estado" id="Estado-18" value="RJ">
            RJ
          </label>
          <label class="checkbox-inline" for="Estado-19">
            <input type="checkbox" name="Estado" id="Estado-19" value="RN">
            RN
          </label>
          <label class="checkbox-inline" for="Estado-20">
            <input type="checkbox" name="Estado" id="Estado-20" value="RS">
            RS
          </label>
          <label class="checkbox-inline" for="Estado-21">
            <input type="checkbox" name="Estado" id="Estado-21" value="RO">
            RO
          </label>
          <label class="checkbox-inline" for="Estado-22">
            <input type="checkbox" name="Estado" id="Estado-22" value="RR">
            RR
          </label>
          <label class="checkbox-inline" for="Estado-23">
            <input type="checkbox" name="Estado" id="Estado-23" value="SC">
            SC
          </label>
          <label class="checkbox-inline" for="Estado-24">
            <input type="checkbox" name="Estado" id="Estado-24" value="SP">
            SP
          </label>
          <label class="checkbox-inline" for="Estado-25">
            <input type="checkbox" name="Estado" id="Estado-25" value="SC">
            SC
          </label>
          <label class="checkbox-inline" for="Estado-26">
            <input type="checkbox" name="Estado" id="Estado-26" value="SE">
            SE
          </label>
          <label class="checkbox-inline" for="Estado-27">
            <input type="checkbox" name="Estado" id="Estado-27" value="TO">
            TO
          </label>
        </div>
      </div>
      </fieldset>
      </form>
       
×

Important Information

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