Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Configuratore per PC

  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Configuratore per PC

    Con questo script controllo la configurazione di un pc, potendo intercambiare i singoli component e aggiornando automatcamente il prezzo. Il punto è che cambiando due o più componenti e poi tornando al prezzo base, il sistema si blocca! Perchè???
    codice:
    <script language="JavaScript">
    // valore iniziale in euro
    var valore_iniziale = <%=replace((formatnumber(rs_modello("prezzo_offerta"),2)),",",".")%>;
    // totale iniziale
    var totale = valore_iniziale;
    // valuta
    var valuta = "&euro;"
    var vecchio_valore_radio=0;
    var mesi = <%=rs_modello("rate")%>
    
    function modifica(check_box) {
    
    if(totale>=valore_iniziale && check_box!="") {
    document.all.prezzo.innerHTML = "";
    valore = document.Form_Controllo_Prezzo[check_box].value;
    if(document.Form_Controllo_Prezzo[check_box].checked == true) {
    // somma se selezionato
    totale = (Math.abs(totale)+Math.abs(valore));
    } else {
    // sottrazione se non è selezionato
    totale = (Math.abs(totale)-Math.abs(valore));
    }
    }
    // popolo lo span in base al totale modificato
    if(document.all.prezzo) { 
    document.all.prezzo.innerHTML = (Math.round((totale)*100)/100+valuta).replace(/\./, ",");
    }
    if(document.all.prezzo_barra) { 
    document.all.prezzo_barra.innerHTML = (Math.round((totale)*100)/100+valuta).replace(/\./, ",");
    } 
    if(document.all.prezzo_piede) { 
    document.all.prezzo_piede.innerHTML = (Math.round((totale)*100)/100+valuta).replace(/\./, ",");
    }
    if(document.all.rata) { 
    document.all.rata.innerHTML = Math.round(totale/mesi)+valuta;
    }
    if(document.all.rata_barra) { 
    document.all.rata_barra.innerHTML = Math.round(totale/mesi)+valuta;
    }
    if(document.all.rata_piede) { 
    document.all.rata_piede.innerHTML = Math.round(totale/mesi)+valuta;
    } else {
    return false;
    }
    }
    
    // ciclo per verificare per aggiungere il valore del radio selezionato 
    // e sottrarre il vecchio valore selezionato uso: <input onclick("verifica_radio(this.name)")
    
       var vecchio_valore_radio = 0;
    
       function setta_vecchio_valore(nome_radio) {
       for (i=0;i<document.Form_Controllo_Prezzo[nome_radio].length;i++){
       if (document.Form_Controllo_Prezzo[nome_radio][i].checked==true)    {
       vecchio_valore_radio = document.Form_Controllo_Prezzo[nome_radio][i].value;
       break
       } else {
       vecchio_valore_radio = 0;
       } 
       }
       }
       
       function verifica_radio(nome_radio) {
       for (i=0;i<document.Form_Controllo_Prezzo[nome_radio].length;i++){
       if (document.Form_Controllo_Prezzo[nome_radio][i].checked==true && totale>=valore_iniziale)    {
       document.all.prezzo.innerHTML = "";
       totale = (Math.abs(totale)-Math.abs(vecchio_valore_radio));
       totale = (Math.abs(totale)+Math.abs(document.Form_Controllo_Prezzo[nome_radio][i].value));
       //vecchio_valore_radio = document.Form_Controllo_Prezzo[nome_radio][i].value;
       break
       } 
       }
       // popolo lo span in base al totale modificato
    if(document.all.prezzo) { 
    document.all.prezzo.innerHTML = (Math.round((totale)*100)/100+valuta).replace(/\./, ",");
    }
    if(document.all.prezzo_barra) { 
    document.all.prezzo_barra.innerHTML = (Math.round((totale)*100)/100+valuta).replace(/\./, ",");
    } 
    if(document.all.prezzo_piede) { 
    document.all.prezzo_piede.innerHTML = (Math.round((totale)*100)/100+valuta).replace(/\./, ",");
    }
    if(document.all.rata) { 
    document.all.rata.innerHTML = Math.round(totale/mesi)+valuta;
    }
    if(document.all.rata_barra) { 
    document.all.rata_barra.innerHTML = Math.round(totale/mesi)+valuta;
    }
    if(document.all.rata_piede) { 
    document.all.rata_piede.innerHTML = Math.round(totale/mesi)+valuta;
    } else {
    return false;
    }
    }
    //-->
    </script>
    LA MIA PAGINA

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Postare due volte lo stesso problema non ti sara' utile

    Fai un "up" nella vecchia discussione...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.