Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Autocompletamento.

    Ho alcuni campi in cui digito degli importi, nei quali vorrei applicare l'autocompletamento nel seguente modo alla perdita del focus (sempre che l'utente, non si prenda da sè la briga di completarli!!!).

    ES:

    1)Digito 12 --> alla perdita del focus 12.00

    2)Digito 12.6 --> alla perdita del focus 12.60

    3)Digito 1 --> alla perdita del focus 1.00

    Qualcuno mi può dare una mano?

    Grazie.

    Ovviamente niente virgole ma solo punti.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Cerca nei post vecchi, ci sono vari thread che trattano la scrittura di valori in euro.

    Puoi usare:
    <input type="text" ... onBlur="this.value = completa(this.value);">

    dove la funzione completa() e` quella che trasforma la stringa aggiungendo gli zeri necessari.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Non ho trovato nulla di specifico.....
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    <script>
    function FormatNumber(num,dec) {
    dec= (dec)?dec:2;
    ee = Math.pow(10,dec);
    nn = Math.floor(num*ee);
    vv = String(nn/ee);
    vv += (vv.indexOf(".")>=0)?"":".";
    while (vv.indexOf(".")>vv.length-dec-1) { vv += "0" }
    return vv;
    }
    </script>

    <input type=text onblur="this.value=FormatNumber(this.value,2);">
    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

  5. #5
    Grazie gentilissimo.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  6. #6
    Il codice funziona, però ho notato che se digito certi importi (ad esempi 33.80 oppure 33.8), lui mette, alla perdita del focus, 33.79....

    Fin'ora è l'unico che mi ha dato questo problema, non so se ce ne sono altri che hanno questo comportamento anomalo, però perchè???? :master:
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Chiedevi il motorino, e br1 ti ha dato la Maserati....

    Si puo` naturalmente ovviare con un arrotondamento, ma io farei una cosa piu` semplice (spero che br1 non si offenda):

    function FormatNumber(num,dec) {
    num += (num.indexOf(".")>=0)?"":".";
    while (num.indexOf(".")>num.length-dec-1) { num += "0" }
    return num;
    }

    Nota: la variabile num da passare deve essere una stringa, altrimenti occorre inserire come prima istruzione:
    num = String(num);

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Grazie proverò.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.