Ir para conteúdo
Jonas Ribeiro Nascimento

Erro javascript “Error: VanillaMasker: There is no element to bind”

Recommended Posts

Tenho esse seguinte problema aparece no console em todas as paginas, somente na pagina de cadastro que não aparece, tipo onde os inputs na tela de cadastro estão sendo usados o erro não aparece.

Segue o erro do console em todas as paginas, menos na pagina de cadastro.

 

vanilla-masker.min.js:49 Uncaught Error: VanillaMasker: There is no element to bind. at h (vanilla-masker.min.js:49) at add-javascript.js:6
  h @ vanilla-masker.min.js:49
  (anonymous) @ add-javascript.js:6

 

pagina do link add-javascript.js

/* global VMasker */

// Mascaras do sistema de cadastro

// Mascara do cep
VMasker(document.querySelector('#Cep')).maskPattern('99999-999');

// Mascara do cpf
VMasker(document.querySelector('#Cpf')).maskPattern('999.999.999-99');

// Mascara do data de nascimento
VMasker(document.querySelector('#dataNascimento')).maskPattern('99/99/9999');

// Mascara do telefone fixo e celular
function inputHandler(masks, max, event) {
	var c = event.target;
	var v = c.value.replace(/\D/g, '');
	var m = c.value.length > max ? 1 : 0;
	VMasker(c).unMask();
	VMasker(c).maskPattern(masks[m]);
	c.value = VMasker.toPattern(v, masks[m]);
}

var telMask = ['(99) 9999-99999', '(99) 99999-9999'];
var tel = document.querySelector('#tel');
VMasker(tel).maskPattern(telMask[0]);
tel.addEventListener('input', inputHandler.bind(undefined, telMask, 14), false);

pagina do link vanilla-masker.min.js

 

! function(a, b) {
    "function" == typeof define && define.amd ? define(b) : a.VMasker = b()
}(this, function() {
    var a = "9",
        b = "A",
        c = "S",
        d = [8, 9, 16, 17, 18, 36, 37, 38, 39, 40, 91, 92, 93],
        e = function(a) {
            for (var b = 0, c = d.length; c > b; b++)
                if (a == d[b]) return !1;
            return !0
        },
        f = function(a) {
            return a = a || {}, a = {
                precision: a.hasOwnProperty("precision") ? a.precision : 2,
                separator: a.separator || ",",
                delimiter: a.delimiter || ".",
                unit: a.unit && a.unit.replace(/[\s]/g, "") + " " || "",
                suffixUnit: a.suffixUnit && " " + a.suffixUnit.replace(/[\s]/g, "") || "",
                zeroCents: a.zeroCents,
                lastOutput: a.lastOutput
            }, a.moneyPrecision = a.zeroCents ? 0 : a.precision, a
        },
        g = function(a) {
            this.elements = a
        };
    g.prototype.unbindElementToMask = function() {
        for (var a = 0, b = this.elements.length; b > a; a++) this.elements[a].lastOutput = "", this.elements[a].onkeyup = !1, this.elements[a].onkeydown = !1, this.elements[a].value.length && (this.elements[a].value = this.elements[a].value.replace(/\D/g, ""))
    }, g.prototype.bindElementToMask = function(a) {
        for (var b = this, c = function(c) {
                c = c || window.event;
                var d = c.target || c.srcElement;
                e(c.keyCode) && setTimeout(function() {
                    b.opts.lastOutput = d.lastOutput, d.value = h[a](d.value, b.opts), d.lastOutput = d.value, d.setSelectionRange && b.opts.suffixUnit && d.setSelectionRange(d.value.length, d.value.length - b.opts.suffixUnit.length)
                }, 0)
            }, d = 0, f = this.elements.length; f > d; d++) this.elements[d].lastOutput = "", this.elements[d].onkeyup = c, this.elements[d].value.length && (this.elements[d].value = h[a](this.elements[d].value, this.opts))
    }, g.prototype.maskMoney = function(a) {
        this.opts = f(a), this.bindElementToMask("toMoney")
    }, g.prototype.maskNumber = function() {
        this.opts = {}, this.bindElementToMask("toNumber")
    }, g.prototype.maskPattern = function(a) {
        this.opts = {
            pattern: a
        }, this.bindElementToMask("toPattern")
    }, g.prototype.unMask = function() {
        this.unbindElementToMask()
    };
    var h = function(a) {
        if (!a) throw new Error("VanillaMasker: There is no element to bind.");
        var b = "length" in a ? a.length ? a : [] : [a];
        return new g(b)
    };
    return h.toMoney = function(a, b) {
        if (b = f(b), b.zeroCents) {
            b.lastOutput = b.lastOutput || "";
            var c = "(" + b.separator + "[0]{0," + b.precision + "})",
                d = new RegExp(c, "g"),
                e = a.toString().replace(/[\D]/g, "").length || 0,
                g = b.lastOutput.toString().replace(/[\D]/g, "").length || 0;
            a = a.toString().replace(d, ""), g > e && (a = a.slice(0, a.length - 1))
        }
        var h = a.toString().replace(/[\D]/g, ""),
            i = new RegExp("^(0|\\" + b.delimiter + ")"),
            j = new RegExp("(\\" + b.separator + ")$"),
            k = h.substr(0, h.length - b.moneyPrecision),
            l = k.substr(0, k.length % 3),
            m = new Array(b.precision + 1).join("0");
        k = k.substr(k.length % 3, k.length);
        for (var n = 0, o = k.length; o > n; n++) n % 3 === 0 && (l += b.delimiter), l += k[n];
        if (l = l.replace(i, ""), l = l.length ? l : "0", !b.zeroCents) {
            var p = h.length - b.precision,
                q = h.substr(p, b.precision),
                r = q.length,
                s = b.precision > r ? b.precision : r;
            m = (m + q).slice(-s)
        }
        var t = b.unit + l + b.separator + m + b.suffixUnit;
        return t.replace(j, "")
    }, h.toPattern = function(d, e) {
        var f, g = "object" == typeof e ? e.pattern : e,
            h = g.replace(/\W/g, ""),
            i = g.split(""),
            j = d.toString().replace(/\W/g, ""),
            k = j.replace(/\W/g, ""),
            l = 0,
            m = i.length;
        for (f = 0; m > f; f++) {
            if (l >= j.length) {
                if (h.length == k.length) return i.join("");
                break
            }
            i[f] === a && j[l].match(/[0-9]/) || i[f] === b && j[l].match(/[a-zA-Z]/) || i[f] === c && j[l].match(/[0-9a-zA-Z]/) ? i[f] = j[l++] : (i[f] === a || i[f] === b || i[f] === c) && (i = i.slice(0, f))
        }
        return i.join("").substr(0, f)
    }, h.toNumber = function(a) {
        return a.toString().replace(/(?!^-)[^0-9]/g, "")
    }, h
});

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por rd111072
      Olá, moçada!

      Tenho esse gráfico aqui: http://riocir.com.br/renan/chart_barg_g2.php 
      Mas ele exibe só os dias da semana do mês 1. Queria que ele exibisse todos os dias de todos os meses (como é o resultado do echo).

      Segue o código. Alguém pode me ajudar?
       
       
    • Por capaldi
      <?php
      if(isset($_GET['deletar']) && $_GET['deletar'] == 'sim'):
          $id_produto = (int)$_GET['produto'];
          $pegar_dados_produto = BD::conn()->prepare("SELECT img_padrao FROM loja_produtos WHERE id = ?");
          $pegar_dados_produto->execute(array($idProduto));
          $dadosProd = $pegar_dados_produto->fetchObject();
          
          $verificar_imagens = BD::conn()->prepare("SELECT * FROM loja_imgprod WHERE id_produto = ?");
          $verificar_imagens->execute(Array($idProduto));
          
          if($verificar_imagens->rowCount() == 0){
              if(unlink('../../produtos/'.$dadosProd->img_padrao)){
                  $deletar_produto =BD::conn()->prepare("DELETE FROM loja_produtos WHERE id = ?");
                  if($deletar_produto->execute(array($IdProduto))){
                      echo'<script>alert("Produto excluido com sucesso!");location.href"index.php?pagina=editarProdutos</script>';    
                  }
                  
              }
              
          }else{
              while($dadosImagenm = $verificar_imagens->fetchObject()){
                  unlink('../../produtos/'.$dadosImagem->img);
              }
              if(unlik('../../produtos/'.$dadosProd->img_padrao)){
                  $deletar_produto = BD::conn()->prepare("DELETE FROM loja_produtos WHERE id = ?");
                  if($deletar_produto->execute(array($idproduto))){
                      echo'<script>alert("Produto excluido com sucesso!");location.href"index.php?pagina=editarProdutos</script>';
                  }
              }
          }
      endif;
      ?>
       
      Ola, estou tabalhando com esse script, e não consigo resolver esse problema alguém pose me ajudar?
    • Por mateumt15
      Estou com o trecho de codigo abaixo, mas quando tento mostrai isto em uma tabela ele sempre pula a primeira linha do banco. 
      <?php $servername = "127.0.0.1";
              $username = "root";
              $password = "12345678";
              $dbname = "mydb";
              $conn = new mysqli($servername, $username, $password, $dbname);
              $sql = ("select id_link,link,data_inicio,data_fim,acao,dominio from link");
              $result = $conn->query($sql);
              $row = $result->fetch_assoc();
             
              while ($row = $result->fetch_assoc()):
                  echo "<tr>";
                  echo"<td>";echo $row['id_link'];echo "</td>";
                  echo"<td>";echo $row['link'];echo "</td>";
                  echo"<td>";echo $row['data_inicio'];echo "</td>";
                  echo"<td>";echo $row['data_fim'];echo "</td>";
                  if($row['acao']==='0')
                  {
                      echo"<td>";echo 'Bloqueado';echo "</td>";
                  }
                  if($row['acao']==='1')
                  {
                      echo"<td>";echo 'Permitido';echo "</td>";
                  }
                  if($row['dominio']==='0')
                  {
                      echo"<td>";echo 'URL';echo "</td>";
                  }
                  if($row['dominio']==='1')
                  {
                      echo"<td>";echo 'Dominio';echo "</td>";
                  }
              endwhile;
              $conn->close();
      ?>
    • Por patriciahelena
      Boa noite,
       
      Preciso de ajuda.
      No arquivo form.php tenho 3 inputs de entrada(valor1, valor2, valor3) e 3 inputs(disabled) que receberão os valores calculados do arquivo form_matematico5.php.
      Na tag form onsubmit="return calcula()"
       
          <h4 class="calcula"></h4>
       
      <script>
      function calcula($volmedio, $temp, $precogas) {
      $.get("form_matematico5.php", $('#calculorecovap').serialize(),
          function(data){
              $('.calcula').html(data);
          }
      );
      return false;
      }
      </script>
       
       
      No arquivo form_matecatico5.php é feito os calculos gerando 3 valores. 
      Tenho um echo:
      echo 'texto<br><div style=font-size:23px;color:red;>' . number_format($Resultado1,0,",","."). '</div> <br> texto<br><div style=font-size:23px;color:red;>'. number_format($Resultado2,0,",","."). '</div> <br>texto<br><div style=font-size:23px;color:red;>R$ '. number_format($Resultado3,2,",","."). '</div>';
       
      Ele retorna o echo certinho em     <h4 class="calcula"></h4>.
      Mas o que eu quero mesmo é que Resultado1 retorne dentro do primeiro input(disabled), o Resultado2 dento do segundo input(disabled) e assim com o terceiro. Ou seja,
      Cada input(disabled), recebera um valor diferente e não o total de .calcula.
       
      Espero ter explicado direitinho,
      Obrigada
       
       
       
       
       
       
       
×

Informação importante

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