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

    Errore codice formatMoney

    Salve a tutti, non riesco a risolvere questo problema..

    Allora, all'interno dell'HTML ho messo

    <script>


    Number.prototype.formatMoney = function(c, d, t)
    {

    var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;

    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");

    };


    function prezzo_verifica()
    {

    var prezzo_imponibile = document.getElementById('prezzo_imponibile').value ;


    var prezzo_corretto_number = prezzo_imponibile.formatMoney(2, ',', '.');

    document.getElementById('visualizza_prezzo').inner HTML = "€ "+ prezzo_corretto_number +" di sconto";

    }

    </script>
    <input name="prezzo_imponibile" id="prezzo_imponibile" type="text" class="campi" onkeydown="prezzo_verifica();" onkeyup="prezzo_verifica();" size="60"> -> <span id="visualizza_prezzo"></span>

    provando sul locale e mi appare questo messaggio
    "L'oggetto non supporta la proprietà o il metodo 'formatMoney'"

    Perchè?
    Cosa ho sbagliato? Anche perchè provando a togliere
    DA var prezzo_corretto_number = prezzo_imponibile.formatMoney(2, ',', '.');
    IN var prezzo_corretto_number = prezzo_imponibile);

    Funziona, se metto formatMoney appare sempre questo errore

  2. #2
    Ciao. In prezzo_verifica, questa variabile:

    codice:
    var prezzo_imponibile = document.getElementById('prezzo_imponibile').value;
    è una stringa, non un Number quindi quel metodo nel prototipo non esiste.
    ti basta aggiungerci una parseFloat:

    codice:
    function prezzo_verifica() {
    	var prezzo_imponibile = document.getElementById('prezzo_imponibile').value;
    	prezzo_imponibile = parseFloat(prezzo_imponibile);
    	var prezzo_corretto_number = prezzo_imponibile.formatMoney(2, ',', '.');
    	document.getElementById('visualizza_prezzo').innerHTML = "€ "+ prezzo_corretto_number +" di sconto";
    }

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.