【问题标题】:How to apply masking in Dynamic crm 2013如何在 Dynamic crm 2013 中应用屏蔽
【发布时间】:2014-02-03 11:14:31
【问题描述】:

是否有某种方法可以使用任何 jQuery 和 jQuery 掩码插件在 crm 2013 中的字段上应用掩码。

我从http://taoofcrm.com/2011/05/19/crm-field-masking-with-jquery/读到 但它在 Dynamic crm 2013 上对我不起作用。

【问题讨论】:

    标签: dynamics-crm-2013


    【解决方案1】:

    在crm 2011 中输入字段ID 是属性名称,而在crm 2013 中输入字段ID 是属性名称加上“_i”(可能是“i”表示输入)。

    因此,如果我们有属性名称“name”,则该属性的输入字段 ID 在 2011 年为“name”,而在 2013 年为“name_i”。

    以下是 crm 2011 和 crm 2013 中表单属性输入字段的 Source 视图。

    crm 2011 中的输入字段

     <input id="name" tabindex="1010" class="ms-crm-Input ms-crm-Text" style="-ms-ime-mode: auto;" type="text" maxlength="255" value="test" attrformat="text" attrpriv="7" attrname="name" req="2">
    

    crm 2013 中的输入字段

    <input id="name_i" title="" class="ms-crm-InlineInput" aria-labelledby="name_c name_w" style="-ms-ime-mode: active;" type="text" maxlength="160" attrname="name" attrpriv="7" controlmode="normal" defaultvalue="Blue Yonder Airlines (sample)">
    

    如果您在 crm 2011 中应用遮罩,请参阅here!,或直接使用以下代码。

    //Include jquery and jqueryMask plugin file on form you apply masking.
    function Mask(field, format)
    { 
    $("#"+field).mask(format);
    }
    
    // call this function on form load event 
    function maskFields()
    {
    Mask("address1_postalcode", "99999-9999");
    Mask("telephone1", "(999) 999-9999");
    Mask("telephone2", "(999) 999-9999");
    Mask("fax", "(999) 999-9999");
    
    }
    

    对于 crm 2013,您应该附加“_i”和字段名称。

    function Mask(field, format)
    { 
    $("#"+field+"_i").mask(format);
    }
    

    但仍然无法正常工作,因为在 crm 2013 中,输入字段是在执行时创建的。 您应该在输入的点击事件上应用遮罩,在应用遮罩之前刚刚获得属性的焦点,例如

    //Include jquery and jqueryMask plugin file on form you apply masking.
    function Mask(field, format) {
      //first check whether attribute exist or not
        var oCtrl = Xrm.Page.getControl(field);
        if (oCtrl != null) {
    
            oCtrl.setFocus(true);
            $("#" + field + "_i").mask(format);
        }
    } 
    
    // call this function on form load event 
    function maskFields()
    {
    Mask("address1_postalcode", "99999-9999");
    Mask("telephone1", "(999) 999-9999");
    Mask("telephone2", "(999) 999-9999");
    Mask("fax", "(999) 999-9999");
    
    }
    

    适用于 crm 2013。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多