jueves, 7 de marzo de 2013

SageCRM – Campos Teléfono (II)



Después de comentar en la entrada “SageCRM - Campos Teléfono (I)” que mediante “javascript” se podían manipular campos “especiales”  (como son los teléfonos y los emails), se me ocurrió mostrar mediante la misma “técnica” y “tecnología”, como se pueden formatear los teléfonos para que siempre se entren y se visualicen de la misma manera. 

En este ejemplo, mostraré los teléfonos separados de 3 en 3, como muestro a continuación:

666 666 666


Para ello,  tendremos que hacer lo mismo que en el post anterior, y añadir un bloque de <SCRIPT> dentro de la traducción  CompanyPhone” de la familia de Etiquetas “TabNames”.

El script para formatear el teléfono de empresa sería el siguiente:

Teléfono
<script>
    if (window.addEventListener)
    {
        window.addEventListener("load",inicio,false);    //FIREFOX
    }
    else
    {
        window.attachEvent("onload",inicio);     //IE
    }
  
    function inicio()
    {
        obj=document.getElementById("phon_numberbusiness")
        obj.onchange =  function(){FormatearTelefono(obj);};
    }

    function FormatearTelefono(obj)
    {
        var TelOriginal=obj.value
        TelOriginal=TelOriginal.replace(/ /g,"");
        TelOriginal=TelOriginal.replace(/\./g,"");
        TelOriginal=TelOriginal.replace(/-/g,"");      
        if (TelOriginal!="")
        {
            var TelFormateado='';
            TelFormateado=TelOriginal.substring(0,3)+" ";
            TelFormateado+=TelOriginal.substring(3,6)+" ";
            TelFormateado+=TelOriginal.substring(6,9);
            obj.value=TelFormateado
        }
    }
  
</script>



Lo que estamos haciendo con este script es, definir cuándo se cargue la página, la propiedad onchange del campo del número de teléfono.

A la propiedad onchange le estamos asignando la función “FormatearTelefono”, y le pasaremos como parámetro el mismo objeto.

La función FormatearTelefono hace lo siguiente:

  1. Inicializa el valor actual del campo del número de teléfono (quitándole caracteres no válidos (espacios, puntos y guiones)
  2. Y si el valor del campo no es vacío, obtenemos los caracteres de 3 en 3 (separados por un espacio) y los volvemos a asignar al campo del número de teléfono.

Y una vez más, de una manera muy sencilla, hemos vuelto a manipular una parte de SageCRM no personalizable, con las propias herramientas de SageCRM.


No hay comentarios:

Publicar un comentario