Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Script migliaia

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    58

    Script migliaia

    Buon giorno uso il seguente script per formattare con le migliaia e virgola, un numero inserito dall'utente nel campo di una form.

    Funziona ma il problema è che il campo non è obbligatorio e con questo script , quando l'utente non inserisce nulla e passa sopra il campo , viene inserito in automatico:,00.

    Come posso modificare affinche passando sopra il campo e non inserendo alcun valore il campo rimanga vuoto ?

    <input maxlength='11' type='text' size='13' class='forms' onKeyUp=this.value=Formatta_num(this.value,2,',',f alse); onBlur=this.value=Formatta_num(this.value,2,',',tr ue); name='O1' value="">

    <SCRIPT LANGUAGE=javascript>
    <!--
    function Pulisci(val) {
    s_val = new String(val);
    RE = /[^\d|\.,]/gi
    s_val = s_val.replace(RE,"");
    RE = /\./gi;
    s_val = s_val.replace(RE,"");
    s_val = s_val.replace("\,","\.");
    return s_val;
    }
    function Formatta_num(val,dec,sep,cmp){
    s_val = Pulisci(val);
    a_val = s_val.split(".");
    intero=a_val[0];
    l_val = intero.length;
    var i = 3;
    while (l_val - 3 > 0){
    var l_val1 = intero.length;
    var s1 = intero.slice( l_val1 - i , l_val1 );
    var s2 = intero.slice(0 , l_val1 - i );
    intero = s2+"."+s1;
    i = i +4;
    l_val = l_val - 3;
    }
    if (cmp) {
    if(a_val.length>1) {
    s1 = String(a_val[1])
    while (s1.length<dec) {
    s1 = s1+"0";
    }
    } else {
    s1 = "00"
    }
    intero = intero + sep + s1.substr(0,dec);
    } else {
    if(a_val.length>1) {
    s1 = String(a_val[1])
    if (s1.length>dec) {
    s1 = s1.substr(0,dec-1)+s1.substr(dec,1)
    }
    intero = intero + sep + s1;
    }
    }

    return (intero);
    }

    //-->
    </SCRIPT>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    L'ultima istruzione:

    return (val)?(intero):"";

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    58
    Ti ringrazio funziona perfettamente,

    Abuso della Tua pazienza:

    Mi sono accorto che per per i prezzi che devo inserire , non sono necessarie le cifre decimali e virgola.Mi serve solo il numero intero con separatore migliaia.

    E' possibile quindi togliere la virgola e relativi decimali ? e nel caso l'utente inserisca la virgola, arrotondare per eccesso ?

    Stefano

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.