是否有一些方法可以在表单上的crm 2013中使用任何jQuery和jQuery掩码插件在字段上应用掩码。
我从http://taoofcrm.com/2011/05/19/crm-field-masking-with-jquery/读到 但它在Dynamic crm 2013上对我没用。
答案 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工作得很好。