none
Erro - Formatar campo Telefone RRS feed

  • Pergunta

  • Estou tentando formatar os campos Telefone do Formulário conta e estou com o seguinte erro.

     

    "Ocorreu um erro com o evento personalizado deste campo:

    Campo: windows

    Evento: onload

    Erro: o objeto não oferece suporte à propriedade ou método "attach event"

    carrego o jscript como biblioteca e chama minha função no enveto onload.

     

     

    function Mask(format) {
     var m = this;
    
     m.Format = format;
     m.Field = null;
     m.OnLoad = false;
     m.Filter = null;
    
     var onloadbound = false;
     var onsavebound = false;
     var onfocusbound = false;
    
     m.Mask = function () {
      if (!m.Field) {
       return alert("Mask is missing a field");
      }
    
      m.Field.title = m.Format;
    
      if (!onfocusbound) {
       onfocusbound = m.Field.attachEvent("onfocusin", unmask);
       m.Field.attachEvent("onfocusout", mask);
      }
    
      if (m.OnLoad && !onloadbound) {
       onloadbound = mask() == undefined;
      }
    
      if (!onsavebound) {
       onsavebound = crmForm.attachEvent("onsave", mask);
      }
     }
    
     function unmask() {
      m.Field.setValue(strip());
     }
    
     function mask() {
     
      var formated = m.Format;
    
      var splitValue = strip().split("");
    
      if (splitValue.length == 0) {
       m.Field.setValue(null);
       return;
      }
    
      
      var placeHolderReg = new RegExp("#{1}");
      
      for (var i = 0; i < splitValue.length; i++) {
       formated = formated.replace(placeHolderReg, splitValue[i]);
      }
    
      m.Field.setValue(formated);
     }
    
     function strip() {
      if (!m.Field.getValue()) {
       return "";
      }
      
      var valueOnlyReg = new RegExp(m.Filter, "gi");
      return m.Field.getValue().replace(valueOnlyReg, "");
     }
    }
    
    function OnCrmPageLoad() {
     var phoneMask = new Mask("(##)###-####");
     phoneMask.Field = Xrm.Page.getAttribute("telephone1");
     phoneMask.Filter = "\\D"; //Unmask Filter - Strip Everything which is not a Number
     phoneMask.Mask();
    
     var cellMask = new Mask("+(##) ### ####");
     cellMask.Field = Xrm.Page.getAttribute("telephone2");
     phoneMask.OnLoad = true;
     cellMask.Filter = "\\D"; 
     cellMask.Mask();
    }
    
    OnCrmPageLoad();
    se poderem me dar um help fico grato!

    Ou se alguem tiver um exemplo... obrigado


    segunda-feira, 13 de junho de 2011 19:09

Respostas

Todas as Respostas