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

    Formattazione valuta in campo form

    Ciao a tutti.

    Ho un problemino che non so come risolvere, spero che qualcino possa aiutarmi.

    Ho un campo in un form che deve acquisire dall'utente il prezzo di un oggetto.
    Siccome il prezzo è in euro, deve essere un valore numerico e deve essere nel formato

    numero, 2 decimali
    #####,##

    come posso ottenere questo con javascript?

    Qualcuno ha un suggerimento?? Grazie

    Ciao
    Paperina :-)

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92
    Ma tu vuoi un controllo prima che venga spedito il form?

  3. #3
    Qualcosa da abbinare all'evento on BLUR
    Paperina :-)

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92
    Fai una funzione che controlla se inanzitutto è una valore numerico e poi controlla che il terzultimo carattere è un virgola.

    Se posti parte del codice posso vedere di farlo io.

  5. #5
    Non c'è ancora il codice, lo devo iniziare adesso ma purtroppo non conosco le funzioni di Javascript per controllare le stringhe.

    Ma penso che la prima cosa da fare sia controllare che sia un numero,a ltrimenti cancellare tutto.
    La seconda cosa da fare è vedere se esiste la virgola, perchè l'utente può scrivere anche '5,8' e in questo caso devo aggiungere alla fine "0"; se la virgola non c'è aggiungo alla fine ",00".

    Mi faresti un esempio di codice se puoi?
    Paperina :-)

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92
    ok dammi qualche minuto e te lo faccio

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92
    Questa è la prima parte, devi specificare di mettere il punto nell' inserimento.

    <script>

    function controllo_euro(){
    if(isNaN(document.form1.euro.value)){ alert("Inserire un valore numerico");}
    }

    </script>

    <body>
    <form name="form1" >
    <input type="text" name="euro" onchange="controllo_euro(this)" value="">
    </form>
    </body>

  8. #8
    Grazie, questo è perfetto.

    Allora, grazie al tuo codice e alle funzioni trovate su questo sito:
    http://www.morpheusweb.it/html/manuali/javascript.asp

    Ho realizzato questa funzione

    codice:
    	function noprezzo(campo)
    	{
    	if (campo.value == '')
    	    campo.value='NO PREZZO';
        else
    	    {
    		campo.value = campo.value.replace(",",".");
            if(isNaN(campo.value))
    		   {
    		   alert("Inserire un valore numerico");
    		   campo.value='NO PREZZO';
    		   }
    		else
    		   {
               var pos=campo.value.indexOf(".");
               if (pos >= 0)
                  {
    			  var decimale=campo.value.slice(pos+1); 
    			  if (decimale.length == 0)
    			     {
    			  	 campo.value= campo.value + "0";
    				 }
    			  if (decimale.length < 2)
    			     {
    			  	 campo.value= campo.value + "0";
    				 }
    			  }
              else
                  {
                  campo.value= campo.value + ".00";
                  }
    		   }  
    		} 
    	}
    Lo script fa il suo dovere, solo che explorer da un errore di visualizzazione.

    Qualcuno saprebbe indicarmi se esiste una soluzione meno macchinosa e più efficiente. Grazie
    Paperina :-)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.