Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    vi posto parte del codice..

    <head>
    <script language="javascript">
    function calcola(sc) {
    var prez = parseFloat(sc.form.PREZZO_SERVER.value);
    var scon = parseFloat(sc.value);
    sc.form.NETTO.value = Math.round((prez - prez*scon/100) *100) / 100; // arrotondato
    }
    </script>
    </head>

    <form method="get" action="carrello.asp" name="carrello">
    <input type="text" name="PREZZO_SERVER" value="100">
    <input type="text" name="SCONTO" value="0" onchange="javascript:calcola();">
    <input type="text" name="NETTO" value="100">
    </form>

    l'errore che mi ritorna č 'form' č nullo o non č un oggetto

    in pratica modificando il valore '0' di sconto mi deve modificare in automatico il valore predefinito '100' di netto.
    M.Solazzi
    from
    Mexico City!!

  2. #12
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Forse dovresti copiare meglio:

    onchange="calcola(this);"

    Hai aggiunto un javascript: che non serve e hai tralasciato un this che e` necessario.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #13
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    grazie funziona tutto
    M.Solazzi
    from
    Mexico City!!

  4. #14
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    č possibile invece di arrotondare potere avere un risultato con 2 decimali.... chiedo troppo?

    grazie a tutti comunque
    M.Solazzi
    from
    Mexico City!!

  5. #15
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    in effetti adesso ho un problema ... qualsiasi valore che mi ritorna me lo formatta male cioč con il punto invece della virgola: 172.25 dovrebbe essere 172,25 altrimenti mi va in errore un calcolo in asp della pagina successiva, e 172.25 diventa 1.725,00

    grazie
    M.Solazzi
    from
    Mexico City!!

  6. #16
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quel codice gia` fa l'arrotondamento a 2 decimali!!

    (prez - prez*scon/100) // il conto che serve a te

    ((prez - prez*scon/100) *100) // moltiplica per 100

    Math.round((prez - prez*scon/100) *100) arrotonda all'intero piu` vicino

    Math.round((prez - prez*scon/100) *100) / 100; // divide per 100

    Nota: scon deve essere un valore compreso tra 0 e 100 (non verificato).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #17
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    i valori iniziali dei campi TEXT sono presi da un DB SQL, che vengono formattati cosģ es.: 1.500,00

    quindi avrņ una situazione tipo :

    costo unitario = 1.500,00
    sconto = 0
    netto = 1.500,00

    se io metto uno sconto del 10% il risultato di netto dovrebbe essere 1.350,00 invece con lo script viene 1.35


    come risolvo grazie
    M.Solazzi
    from
    Mexico City!!

  8. #18
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Be` se usi una tua sintassi personale ...

    I numeri vanno scritti senza virgole e con il punto decimale in qualsiasi linguaggio di programmazione.

    Se per te e` necessario usare una codifica diversa nel campo visualizzato, devi fare una conversione prima e dopo.
    codice:
    function calcola(sc) {
      var prez_e = sc.form.PREZZO_SERVER.value;
      prez_e = prez_e.replace(/[\. ]/g, ""); // toglie punti e spazi
      prez_e = prez_e.replace(/\,/, "."); // sost virg. con punto
      var prez = parseFloat(prez_e);
      var scon = parseFloat(sc.value);
      var net = String(Math.round((prez - prez*scon/100) *100) / 100); // arrotondato
      net.replace(/\./, ",");
      // ?? occorre sostituire qualcosa altro?
      sc.form.NETTO.value = net;
    }
    (attenzione a copiare giusto: ci sono delle backslash - se non le vedi fai un "quote" del messaggio prima di fare il copia-incolla)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #19
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittį del Messico (Messico)
    Messaggi
    610
    tutto ok !!!

    grazie
    M.Solazzi
    from
    Mexico City!!

  10. #20
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    e se volessi anzichč partire dal prezzo di listino, inserire la percentuale e il prezzo offerta ed automaticamente calcolare il prezzo pieno come si puņ modificare lo script?

    codice:
    <script language="javascript"> 
    function calcola(sc) { 
    var prez = parseFloat(sc.form.prezzo.value); 
    var scon = parseFloat(sc.value); 
    sc.form.prezzo_off.value = Math.round((prez - prez*scon/100) *100) / 100; // arrotondato 
    } 
    </script>

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