Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Virgole e punti

  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117

    Virgole e punti

    Ciao a tutti, ho uno script che effettua delle operazioni

    prima gestisco il fatto che un utente non puo lasciare il campo vuoto e non puo inserire un carattere

    costoprova = !/[^\d,\.]/.test(ff.costoprova.value);


    Controllo = ff.costoprova.value!="";

    if (costoprova && Controllo)
    cprova = +ff.costoprova.value.replace(/\./g,'').replace(/\,/g,'.');
    else
    {
    ff.costoprova.value = 0;
    cprova = 0;
    alert("Inserire un numero!")
    }


    ma ottengo degli errori nelle operazioni se l'utente inserisce un "." invece della ","

    come posso fare in modo, ad esempio, di visualizzare

    alert("Inserire un numero!")

    nel caso in cui un utente inserisce "."

    oppure cambiare automaticamente il "." con ","

    ... mi va bene qualunque soluzione

    Grazie per l'aiuto

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Questo dovrebbe fare al caso tuo:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    
    <head>
    <title>Sans titre</title>
    <script>
    function verifica(){
    obj = document.form1.importo.value;
    if(obj == ""){
    alert("Campo obbligatorio");
    document.form1.importo.focus();
    return false;
    }else if(!obj.match(/[0-9 ,]+[0-9]{1}$/)){
    alert("Inserire solo numeri e la virgola come saperatore");
    document.form1.importo.value =+ (obj.indexOf(",")==-1)? obj.replace(/\./g,',') : obj 
    document.form1.importo.focus();
    return false;
    }else if(!obj.match(/[0-9 ,]+[0-9]{2}$/)){
    alert("Arrotondare a due decimali");
    document.form1.importo.value =+ (obj.indexOf(",")!=-1)? obj : obj+","
    document.form1.importo.focus();
    return false;
    }
    }
    </script>
    </head>
    
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <form name="form1" method="post" action="invia.asp" onSubmit="return verifica()">
    
    
    <input type="text" name="importo"><input type="submit" name="formbutton1"></p>
    </form>
    
    
    </p>
    </body>
    
    </html>

    PS ho aggiunto la verifica dei due decimali finali 1,00 se non ti serve elimina la parte in rosso.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    scusa ma non ho capito cosa devo modificare nel mio script per funzionare correttamente


    grazie infinite!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da valeria75
    scusa ma non ho capito cosa devo modificare nel mio script per funzionare correttamente


    grazie infinite!
    Scusa Valeria se avessi letto con più attenzione, ti saresti accorta che non ho modificato il tuo script, ma ne ho realizzato uno ex novo.
    Lo script medesimo sarà da inserire nella tua pagina modificando all'occorenza campi, moduli, richiami ecc, in base alle tue esigenze che io non conosco.
    Avendo postato solo una parte dello script, non riuscivo a capire i vari passaggi ed è per questo che ho optato x rifarlo completamente.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    io non "posso" modificare completamente lo script che ho postato, quindi volevo capire come modificare il codice:

    cprova = +ff.costoprova.value.replace(/\./g,'').replace(/\,/g,'.');

    per trasformare "." automaticamente in ","

    ho visto che tu usi.....

    + (obj.indexOf(",")==-1)? obj.replace(/\./g,',') : obj

  6. #6
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    please help me!

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.