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 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 22studio
      Quero pegar os dados do carrinho e enviar para uma outra tabela, será um metodo de cotação, quando o usuario escolher todos os produtos ele pega os produtos do carrinho e joga pra tabela cotação, o que ta dando errado é que faço o foreach, mas só passa uma linha da tabela, se tento usar o $i++ não passa nada por causa do name do formulario, ao clicar em concluir cotação tem que pegar todos os dados da lista e jogar pro resultado, deixei o campo do id só pra visualização
       
          <?php $sqlcarrinho = DB::prepare("SELECT * FROM carrinho INNER JOIN produtos ON carrinho.idproduto = produtos.id WHERE carrinho.idusuario = '".$_SESSION['id']."'"); $sqlcarrinho->execute(); $mostracarrinho = $sqlcarrinho->fetchAll(PDO::FETCH_ASSOC); if (count($mostracarrinho) == true) {     foreach($mostracarrinho as $row){ ?>     <form action="addcarrinho.php?op=cotacao&idusuario=<?php echo $_SESSION['id']?>" method="post">         <input type="text" name="idproduto" value="<?php echo $row['idproduto']?>">         <?php }} ?>         <button type="submit" class="button cart_button_checkout">Concluir Cotação</button>     </form> Quando clico no botão concluir cotação ele joga para esse arquivo:
      Obs.: no codigo abaixo apenas quero receber os dados, caso dê certo farei com que esses dados sejam gravados na tabela em seguida
      if(isset($_GET['op']) and $_GET['op'] == 'cotacao' and $_SESSION['id']++){     $pega = $_POST['idproduto'];         var_dump($pega); }
      Só pega um resultado (item) do carrinho, quando precisaria que pegassem todos os itens e jogassem pra cá
    • By Licht
      Quero um programa que leia vários numeros e informa quantos pares foram digitados. Quando o número 0 (zero) for digitado ele para a execucao. O programa entra num loop e nao funciona como gostaria <?php             $cont= 0;             do {                 echo "<form method='GET' action='exemplo.php'><br/>";                 echo "<h1>Quantidade de numeros pares</h1><br/>";                 echo "<label for='num'>Numero: </label><br/>";                 echo "<input type='number' name='num'/><br/><br/>";                 echo "<input type='submit' value='Verificar'>";                 echo "</form>";                 echo "Contador: $cont";                 $num_verificar = isset($_GET["num"]) ? $_GET["num"] : ' ';                 if($num_verificar%2 == 0)                     $cont ++;             } while ($num_verificar != 0);             echo "Quantidade de numeros pares eh $cont! <br/>"; ?>             
    • By fabiojac
      Olá pessoal. Sou iniciante em php e já procurei em diversos lugares mas não encontrei a informação.
       
      Criei um formulário de contato em PHP, porém, minha necessidade é: Caso o cliente não preencha um campo que contém uma pergunta, essa pergunta não pode ser enviada para o e-mail.
       
      Exemplo do meu arquivo envia-e-mail.php: 
       

      $mensagem.='<b>Preencha seu número do Whatsapp para receber promoções ou caso queira um retorno da nossa equipe (não é obrigatório)</b><br><br> '.$telefone.'<br><br><br>';
       
      Do jeito que está, mesmo que a pessoa não preencha nada, essa pergunta está chegando no e-mail, e o que eu quero é que ela não chegue no e-mail se não for preenchida.
       
      Espero que eu tenha conseguido explicar a minha necessidade. Muito obrigado desde já à todos.
    • By asacap1000
      Salve Galera, tenho uma tabela no banco de dados que estão salvos os dados de fotos armazenadas, uma das tabela consta o caminho das mesmas.
      Hoje consigo buscar estas fotos, mostrar na tela do site tudo certo. Porém estou precisando adicionar um botão para o envio de email com estas imagens em anexos.
      Saberiam me dizer como posso fazer isso?
      Tenho um formulário com os campos Remetente: Nome / Email  - Destinatário: Nome / Email
      e o campo de input file porém as imagens não carregam. Fiz um teste assim:
       
      <div class="input_fields_wrap"> <?php while ($row = oci_fetch_object($stmt2)) { ?> <div><input type="file" name="fotos[]" value="<?=$string3?>" multiple></div> <? }?> </div> Ele carrega assim até lista a quantidade de imagens na consulta mas não carrega as imagens.
       

×

Important Information

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