Hola, existe algún codigo para ponerle mascaras a algunos campos en CRM 2011, por ejemplo en el campo de telefono que tenga el siguiente formato en el campo: ####-####.
En CRM 4.0 utilice este código pero al querer convertirlo a CRM 2011 no me esta funcionando, por favor si pudieran ayudarme. Muchas Gracias.
CRM 4.0
if (crmForm.FormType != 1 || crmForm.FormType == 1)
{
function OnCrmPageLoad()
{
Mask( "telephone1" , "####-####" );
Mask( "telephone2" , "####-####" );
Mask( "sic" , "#-###-######-###" );
}
function Mask( fieldId , mask )
{
field = document.getElementById(fieldId);
field.mask = mask.split("");
field.regex = new RegExp(escapeRegEx(mask.replace(/#/gi,"").split("")),"gi");
field.title += " " + mask;
field.attachEvent( "onchange" , MaskOnFieldChange );
}
function escapeRegEx( chars )
{
var regChars = "+_)(*^$[]-?{}"; //Add all regexp chars id needed
var regExprs = "";
var run2Index = chars.length - 1;
for( var i = 0 ; i < run2Index ; i++ ) Concat( chars[i] , "|" );
Concat(chars[run2Index]);
function Concat( c , d ){
regExprs += (( regChars.indexOf(c) != -1 )? "\\":"" ) + c + d;
}
return regExprs;
}
function MaskOnFieldChange()
{
var field = event.srcElement;
if( field.DataValue == null ) return;
var arrDataValue = field.DataValue.replace(field.regex,"").split("");
var arrResult = [];
for(var i=0 , j=0 ; i < field.mask.length ;i++)
arrResult[i] = (field.mask[i] != "#")?field.mask[i]:arrDataValue[j++];
field.DataValue = arrResult.join("");
}
OnCrmPageLoad();
}
CRM 2011
if (Xrm.Page.ui.getFormType() != 1 || Xrm.Page.ui.getFormType() == 1)
{
function OnCrmPageLoad()
{
Mask( "telephone1" , "####-####" );
Mask( "telephone2" , "####-####" );
Mask( "sic" , "#-###-######-###" );
}
function Mask( fieldId , mask )
{
field = document.getElementById(fieldId);
field.mask = mask.split("");
field.regex = new RegExp(escapeRegEx(mask.replace(/#/gi,"").split("")),"gi");
field.title += " " + mask;
field.attachEvent( "onchange" , MaskOnFieldChange );
}
function escapeRegEx( chars )
{
var regChars = "+_)(*^$[]-?{}"; //Add all regexp chars id needed
var regExprs = "";
var run2Index = chars.length - 1;
for( var i = 0 ; i < run2Index ; i++ ) Concat( chars[i] , "|" );
Concat(chars[run2Index]);
function Concat( c , d ){
regExprs += (( regChars.indexOf(c) != -1 )? "\\":"" ) + c + d;
}
return regExprs;
}
function MaskOnFieldChange()
{
var field = event.srcElement;
if( field.getValue() == null ) return;
var arrDataValue = field.getValue().replace(field.regex,"").split("");
var arrResult = [];
for(var i=0 , j=0 ; i < field.mask.length ;i++)
arrResult[i] = (field.mask[i] != "#")?field.mask[i]:arrDataValue[j++];
field.setValue(arrResult.join(""));
}
OnCrmPageLoad();
}