Bienvenidos

Recuerda que tus comentarios son importantes y recuerda agradecer si te fue útil algun artículo publicado aquí.

L1f3 15 a D@nc3 Flo0r

viernes, 22 de agosto de 2008

Mascaras en MS CRM 4

Gracias a Danny Knight por este aporte.

Muchos usuarios se fijan en las cosas bonitas antes que funcionales, ese es un mal que vivimos todos los programadores. Pero aveces tienen razón!!!

Un caso en el que tienen razón es si te piden que el campo de teléfono en su interfaz de CRM tenga una mascara. Entonces para hacer esto nos aprovecharemos de el "On change event" de un campo en los formularios.

El código a continuación formatea lo que se escribe en los campos de texto de forma que se pongan paréntesis y guiones a los números de teléfono y se guarden de una manera mas presentable para el usuario.

Para hacer esto vamos al editar el formulario de una entidad, haces doble clic en el campo de teléfono y en la pestaña de Eventos veras el Onchange event (en español seria AlCambiar) le das a Editar, copias este código.. y LISTO!!!


 

TE DEJO DOS CODIGOS, AMBOS FUNCIONAN A LA PERFECCION Y HACEN LO MISMO .. CHEERS!! JJ

CODIGO 1

// Attempt to auto-format basic phone numbers. This method supports

// 7 and 10 digit numbers. Example: (410) 555-1212

// Get the field that fired the event

var oField = event.srcElement;

// If we have the field and all is well

if (typeof(oField) != "undefined" && oField != null)

{

// Remove any non-numeric characters

var sTmp = oField.DataValue.replace(/[^0-9]/g, "");

// If the number is a length we expect and support, format the number

switch (sTmp.length)

{

case "4105551212".length:

oField.DataValue = "(" + sTmp.substr(0, 3) + ") " + sTmp.substr(3, 3) + "-" + sTmp.substr(6, 4);

break;

case "5551212".length:

oField.DataValue = sTmp.substr(0, 3) + "-" + sTmp.substr(3, 4);

break;

}

}


 

CODIGO 2

//--> start

// Here we place current phone number to oField

var oField = event.srcElement;

// Here we see if the phone number is valid

if (oField.DataValue != "undefined" && oField.DataValue != null)

{

// This removes any unwanted characters (non numeric)

var sTmp = oField.DataValue.replace(/[^0-9]/g, "");

// Here we use switch structure format number

switch (sTmp.length)

{

case 10:

oField.DataValue = "(" + sTmp.substr(0, 3) + ") " + sTmp.substr(3, 3) + "-"

+ sTmp.substr(6, 4);

break;

}

}

//--> end

No hay comentarios: