Ho aggionato lo script: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 = "€" 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>![]()
![]()
![]()
![]()