Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Replace con JS

  1. #1

    Replace con JS

    Tramite una serie di campi input compio delle operazioni matematiche che mi danno un risultato in un altro campo input.
    Quando il risultato è decimale vorrei però che questo comparisse con la virgola e non con il punto.
    Come posso fare?
    www.sergiogandrus.it
    Il mio blog sull'informatica

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Dopo la fine di tutti i conti, supponendo di avere il risultato nella variabile risult, aggiungi:

    risult = risult.replace(/\./,",");
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Avevo provato a fare così ma i campi-risultato si svuotano.
    www.sergiogandrus.it
    Il mio blog sull'informatica

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Posta il codice che usi: non e` possibile altrimenti trovare l'errore.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Considera che io so programmare in ASP e non in Javascript

    codice:
    <script language="javascript">
    function somma()
    { 
    tot1 = 0
    tot2 = 0
    tot3 = 0
    tot4 = 0
    tot5 = 0
    tot6 = 0
    <% for y = 1 to prodotti %>
    var a<%=y%> = document.form1.cost_tot7_1_primo_prod<%=y%>.value.replace(/\,/g,'.');
    var b<%=y%> = document.form1.cost_tot7_1_secon_prod<%=y%>.value.replace(/\,/g,'.');
    var c<%=y%> = document.form1.cost_tot7_1_terzo_prod<%=y%>.value.replace(/\,/g,'.');
    var d<%=y%> = document.form1.cost_tot7_2_primo_prod<%=y%>.value.replace(/\,/g,'.');
    var e<%=y%> = document.form1.cost_tot7_2_secon_prod<%=y%>.value.replace(/\,/g,'.');
    var f<%=y%> = document.form1.cost_tot7_2_terzo_prod<%=y%>.value.replace(/\,/g,'.');
    tot1 = tot1*1+a<%=y%>*1
    tot2 = tot2*1+b<%=y%>*1
    tot3 = tot3*1+c<%=y%>*1
    tot4 = tot4*1+d<%=y%>*1
    tot5 = tot5*1+e<%=y%>*1
    tot6 = tot6*1+f<%=y%>*1
    <% next %>
    tot1 =  tot1.replace(/\./,",");
    document.form1.total1_7.value=tot1
    document.form1.total2_7.value=tot2
    document.form1.total3_7.value=tot3
    document.form1.total4_7.value=tot4
    document.form1.total5_7.value=tot5
    document.form1.total6_7.value=tot6
    }
    </script>
    www.sergiogandrus.it
    Il mio blog sull'informatica

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non mi sembra molto ragionevole un loop sul server per fare un loop sul client: se i prodotti sono molti, ti ritrovi uno script lunghissimo e pesante, che non serve.

    Per il problema della sostituzione, prova a trasformare prima il risultato in stringa, anche se dovrebbe gia` farlo in automatico:
    tot1 = String(tot1).replace(/\./,",");
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    In questo caso era l'unica soluzione per avere calcoli istantanei (javascript), su un numero di prodotti non preventivabile a priori e per venire incontro ad altre esigenze di uso dei dati.

    Il risultato torna ad essere con il punto.
    www.sergiogandrus.it
    Il mio blog sull'informatica

  8. #8
    Ha funzionato.
    La prova andava fatta con tutti i risultati contemporaneamente.


    grazie
    www.sergiogandrus.it
    Il mio blog sull'informatica

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Harding
    In questo caso era l'unica soluzione per avere calcoli istantanei (javascript), su un numero di prodotti non preventivabile a priori e per venire incontro ad altre esigenze di uso dei dati.
    No, ci sono soluzioni piu` consone.
    Il loop va fatto in JS, con il limite settato da ASP
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.