Julius'Lab

Javascript

(Javascript) Convertir un número a formato moneda (currency)

JavaScript tiene un formateador de números (parte de la Internationalization API): Intl.NumberFormat

// Create our number formatter.
var formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',

  // These options are needed to round to whole numbers if that's what you want.
  //minimumFractionDigits: 0, // (this suffices for whole numbers, but will print 2500.10 as $2,500.1)
  //maximumFractionDigits: 0, // (causes 2500.99 to be printed as $2,501)
});

formatter.format(2500); /* $2,500.00 */

Usar undefined en lugar del primer argumento (‘es-MX’ en el ejemplo) para usar el system locale (el «user locale» en caso de que el código esté corriendo en un navegador).

Aquí hay una lista de los «currency codes«.

Código listo para usar (poner dentro del script antes de cualquier número que vaya a desplegarse):

var formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
});

Para formatear lo deseado:

formatter.format(colocar aquí el número o expresión numérica a formatear);
formatter.format(2500); /* $2,500.00 */

Fuente: StackOverflow

(Javascript) Convertir un número a formato moneda (currency) Leer más »

(Javascript) Sumar columnas (o celdas cualquiera, o cualquier elemento) en tablas, grids, etc.

<script type="text/javascript">
        var myIVAtotal = 0;
        document.querySelectorAll(".cotRepIVAsum").forEach(
          function(acell){
             var cellvalue= parseFloat(acell.innerHTML);
             if (!isNaN(cellvalue)) {myIVAtotal += cellvalue;}
         }
        );
    document.getElementById('SumaIVA').innerHTML = myIVAtotal.toFixed(2);
</script>

En el caso en que se aplicó, la necesidad era sumar todas las celdas de una tabla producida por base de datos en Formidable, en una Single Entry View. Finalmente, pueden sumarse cualquier cantidad de elementos una vez rendereados en la página.

En el ejemplo, .cotRepIVAsum es el identificador de class de las celdas de la tabla o elementos que se quieran sumar (funciona con div, span, p, etc. cualquier html tag).
document.querySelectorAll(«.cotRepIVAsum»).forEach revisa cada elemento con la clase definida, parseFloat convierte los valores de las celdas (que vienen como texto en el html) a número con decimales. Luego el if(!isNan(cellvalue)) comprueba si es número, si es así, lo suma a myIVAtotal con myIVAtotal += cellvalue y finalmente lo sustituye en cualquier html con tag, en este casi en div id=»SumaIVA».

EJEMPLO CON ANOTACIONES:

<script type="text/javascript">
        var myIVAtotal = 0; //variable para obtener el valor final
        document.querySelectorAll(".cotRepIVAsum").forEach( //revisa todos los elementos con la clase deseada
          function(acell){
             var cellvalue= parseFloat(acell.innerHTML); //obtiene el valor de la celda revisada (parseFloat obtiene número con decimales, parseInt obtiene sólo enteros
             if (!isNaN(cellvalue)) {myIVAtotal += cellvalue;} //checa si no es número, si lo es, procede a agregar el valor a la sumatoria total
         }
        );
    document.getElementById('SumaIVA').innerHTML = myIVAtotal.toFixed(2); //despliega la sumatoria total en cualquier div con ese tag, toFixed(2) redondea a 2 decimales
</script>

(Javascript) Sumar columnas (o celdas cualquiera, o cualquier elemento) en tablas, grids, etc. Leer más »

Asignar un valor de una función Javascript a un campo en Formidable

<script type="text/javascript">
jQuery(document).ready(function($){ //set a random 9-char key
    var currentValue = '';
    var lenght = 9;
    var randomChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789';
    var result = '';
    currentValue = $(field_mediakey).val();
    if ($(field_mediakey).val() == '') {
    for ( var i = 0; i < lenght; i++ ) {
            result += randomChars.charAt(Math.floor(Math.random() * randomChars.length));
        }
        $(field_mediakey).val(result);
    }
    $(field_yzjna).val($(field_mediakey).val());
});
</script>

Asignar un valor de una función Javascript a un campo en Formidable Leer más »

(Javascript) Crear un string alfanumérico random

<script type="text/javascript">
jQuery(document).ready(function($){ //set a random 9-char key
    var lenght = 9; // lenght of key
    var randomChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789'; //any string
    var result = '';
    for ( var i = 0; i < lenght; i++ ) { //fills result with 9 random characters from randomChars
            result += randomChars.charAt(Math.floor(Math.random() * randomChars.length));
        }
    return result; // do anything with "result" string
});
</script>

(Javascript) Crear un string alfanumérico random Leer más »

Formidable: Script para recargar (refrescar) página en un View

<script type="text/javascript">
jQuery('.frm_update_field_link').click(function(){
setTimeout(function () {
window.location.href= 'http://juliushernandez.mx/clickbalance/';
}, 500);
})
</script>

En este ejemplo está colocado en una página con un View de Formidable. Colocarlo después del shortcode del View, en la misma página.

Formidable: Script para recargar (refrescar) página en un View Leer más »