如何在Dynamic crm 2013中应用遮罩

时间:2014-02-03 11:14:31

标签: dynamics-crm-2013

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

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

1 个答案:

答案 0 :(得分:3)

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

因此,如果我们有属性名称“name”,那么2011年该属性的输入字段ID为“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");

}

2013年crm工作得很好。

相关问题