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

    Modifiche "estetiche" ad una funzione

    Salve,
    Ho questa funzione che mi serve per calcolare automaticamente dei valori numerici una volta fornito l'input:
    codice:
    <script type="text/javascript" language="javascript">
    function calcReductions(theForm) {
    
    var adult = theForm.RAT_ADULT.value;
    adult = (isNaN(adult))?0:parseFloat(adult);
    
    child = ((100-<%= strChildPerc %>)/100)*adult;
    baby = ((100-<%= strBabyPerc %>)/100)*adult;
    
    theForm.RAT_CHILD.value = child.toFixed(2);
    theForm.RAT_BABY.value = baby.toFixed(2);
    }
    </script>
    Il campo RAT_ADULT è questo:
    codice:
    <input name="RAT_ADULT" type="text" id="RAT_ADULT" onkeyup="calcReductions(this.form)" />
    La funzione... funziona perfettamente, ma mi piacerebbe migliorarne l'impatto grafico...

    In particolare, quando cancello il valore di RAT_ADULT dopo averlo scritto, ottengo dei brutti "NaN" nei campi RAT_CHILD e RAT_BABY, mentre mi piacerebbe che i campi diventassero blank...

    Inoltre, se nel campo RAT_ADULT metto un valore testuale ("pippo"), nei campi RAT_CHILD e RAT_BABY ottengo "0.00", mentre anche qui vorrei ottenere campi vuoti

    Come si può modificare la funzione? Il JavaScript per me è arabo...
    Grazie in anticipo!
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    ciao ivanhalen,

    basta aggiungere un controllo che se è vuoto o non numerico svuota i campi
    codice:
    function calcReductions(theForm) {
      var adult = theForm.RAT_ADULT.value;
      if(isNaN(adult)||adult==''){
        theForm.RAT_CHILD.value = '';
        theForm.RAT_BABY.value = '';
      }
      else{
        adult = parseFloat(adult);
        child = ((100-<%= strChildPerc %> )/100)*adult;
        baby = ((100-<%= strBabyPerc %> )/100)*adult;
        theForm.RAT_CHILD.value = child.toFixed(2);
        theForm.RAT_BABY.value = baby.toFixed(2);
      }
    }

  3. #3
    Grazie Willybit! Funziona perfettamente!
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

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.