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

    Funzione somma di celle a loro volta calcolate

    Intanto un grande grazie a tutti quelli che con i loro preziosi suggerimenti mi hanno aiutato a sistemare e capire il gran casino nella pagina HTML ...

    Adesso avrei ancora un'altra domanda:

    nel form ho postato la seguente funzione:

    <script language="JavaScript" type="text/javascript">
    <!--
    function somma() {

    var A = parseInt(form.contatti.HOME.value);
    var B = parseInt(form.contatti.BASIC.value);
    var C = parseInt(form.contatti.PROFESSIONAL.value);
    var D = parseInt(form.contatti.SERVER.value);
    var E = parseInt(form.contatti.SPECIAL_ONE.value);
    var F = parseInt(form.contatti.SPECIAL_TWO.value);
    var G = parseInt(form.contatti.UPGRADE_HOMEABASIC.value);
    var H = parseInt(form.contatti.UPGRADE_HOMEAPROF.value);
    var I = parseInt(form.contatti.UPGRADE_HOMEASERVER.value);
    var J = parseInt(form.contatti.UPGRADE_BASICAPROF.value);
    var K = parseInt(form.contatti.UPGRADE_BASICASERVER.value) ;
    var L = parseInt(form.contatti.UPGRADE_PROFASERVER.value);
    var M = parseInt(form.contatti.OTTICA.value);
    var N = parseInt(form.contatti.REMOTE.value);
    var O = parseInt(form.contatti.TRASMISSIONI_TOT.value);
    var P = parseInt(form.contatti.BOLLETTINI_TOT.value);
    var Q = parseInt(form.contatti.ASSISTENZA.value);
    var R = parseInt(form.contatti.CONDOMINI_TOT.value);
    var S = parseInt(form.contatti.CORSO_FORMAZIONE.value);

    form.contatti.TOTALE_soft.value = (A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S);

    }

    function somma2() {

    var A1 = parseInt(form.contatti.TOTALE_soft.value);
    var A2 = parseInt(form.contatti.IVA.value);
    var A3 = parseInt(form.contatti.CD_CONTRASSEGNO.value);

    form.contatti.TOTALE_GENERALE.value = (A1+A2+A3);

    }

    .....

    e poi l'eseguibile:

    <tr>
    <td class="cella_sx" nowrap="nowrap"><input class="checkbox" value="###€.60,00###" type=checkbox onclick='if (this.checked){this.form.HOME.value="60,00"} else {this.form.HOME.value="0,00"}'> Software Civites G.C.I. Home Edition ... €.60,00: </td>
    <td class=cella_dx noWrap> Euro: <INPUT class=text style="text-align:right;" maxLength=8 size=8 value="0,00" readonly="readonly" name="HOME" onChange="somma()"></td></tr>

    <tr>
    <td class="cella_sx" nowrap="nowrap"><input class="checkbox" value="###€.290,00###" type=checkbox onclick='if (this.checked){this.form.BASIC.value="290,00"} else {this.form.BASIC.value="0,00"}'> Software Civites G.C.I. Basic Edition ... €.290,00: </td>
    <td class=cella_dx noWrap> Euro: <INPUT class=text value="0,00" style="text-align:right;" maxLength=8 size=8 value="0,00" readonly="readonly" name="BASIC" onChange="somma()"></td></tr>

    <tr>
    <td class="cella_sx" nowrap="nowrap"><input class="checkbox" value="###€.550,00###" type=checkbox onclick='if (this.checked){this.form.PROFESSIONAL.value="550,0 0"} else {this.form.PROFESSIONAL.value="0,00"}'> Software Civites G.C.I. Professional Edition ... €.550,00: </td>
    <td class=cella_dx noWrap> Euro: <INPUT class=text style="text-align:right;" maxLength=8 size=8 value="0,00" readonly="readonly" name="PROFESSIONAL" onChange="somma()"></td></tr>

    <tr>
    <td class="cella_sx" nowrap="nowrap"><input class="checkbox" value="###€.700,00###" type=checkbox onclick='if (this.checked){this.form.SERVER.value="700,00"} else {this.form.SERVER.value="0,00"}'> Software Civites G.C.I. Server Edition ... €.700,00: </td>
    <td class=cella_dx noWrap> Euro: <INPUT class=text style="text-align:right;" maxLength=8 size=8 value="0,00" readonly="readonly" name="SERVER" onChange="somma()"></td></tr>

    ......


    <tr>
    <td class="cella_sx" nowrap="nowrap" width="50%">Totale imponibile: </td>
    <td class="cella_dx" nowrap="nowrap">Euro: <input class="checkbox" style="text-align:right;" size="12" value="0,00" name="TOTALE_soft" onChange={("IVA.value=TOTALE_soft.value*0.2");(onC hange="somma2()") } readonly="readonly"></td></tr>

    <tr>
    <td class="cella_sx" nowrap="nowrap" width="50%">Iva 20% su imponibile: </td>
    <td class="cella_dx" noWrap>Euro: <INPUT class=text style="text-align:right;" maxLength=12 size=12 value="0,00" name="IVA" onChange="somma2()" readonly="readonly"></td></tr>

    <tr>
    <td class="cella_sx" nowrap="nowrap"><input class="checkbox" type=checkbox onclick='if (this.checked){this.form.CD_CONTRASSEGNO.value="22 ,00"} else {this.form.CD_CONTRASSEGNO.value="0,00"}'> Spese Contrassegno o Versione su CD, €.22,00 Iva inclusa. (<FONT color=#ff0000>*2</FONT>): </td>
    <td class=cella_dx noWrap>Euro: <INPUT class=text style="text-align:right;" maxLength=12 size=12 value="0,00" readonly="readonly" name="CD_CONTRASSEGNO" onChange="somma2()"></td></tr>

    <tr>
    <td class=blu10boldspaz vAlign=top align=right> </td></tr>

    <tr>
    <td class="cella_sx" nowrap="nowrap" width="50%">TOTALE DA PAGARE: </td>
    <td class="cella_dx" noWrap>Euro: <INPUT class=text style="text-align:right;" maxLength=12 size=12 value="0,00" name="TOTALE_GENERALE" readonly="readonly"></td></tr>


    Il problema é che la funzione somma.() e di riflesso la somma2.() non funzionano e non succede niente, infatti i campi TOTALE_soft, IVA e TOTALE_GENERALE non si riempiono.

    COSA C'è DI SBAGLIATO NELLA MIA FORMULA

    Se vi serve l'intera pagina, potete vederla qui:
    http://www.civites.it/Rep/Ordine_Acquisto_Civites.html

  2. #2
    A occhio e croce, da quello che ho visto, è sbagliato tutto il codice con cui imposti le variabili e la successiva somma.
    Per farti un es.:

    codice:
    form.contatti.HOME.value
    Questo codice presuppone che tu legga il valore (value) di un campo di testo (HOME) che si trova in un form (contatti)...ma quel form all'inizio non c'entra nulla! Puoi correggere la cosa così:

    codice:
    document.contatti.HOME.value
    
    o così (se il tuo form è il primo form della pagina):
    
    document.forms[0].HOME.value
    Ricordati sempre di non richiamare un oggetto in un form con il semplice NOMEFORM.NOMEOGGETTO, ma anteponendo document:

    document.NOMEFORM.NOMEOGGETTO

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.