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

    Calcolo con moltiplicatori

    Ciao a tutti,

    ho dei campi dove inserisco degli importi e da parte una dropdownlist con valori predefiniti indicanti dei moltiplicatori.

    Io vorrei fare una funzione che mi permetta, quando inserisco un importo nel campo e scelgo un moltiplicatore dalla lista (che riporto qui di seguito):

    opzioni

    1 -> importo annuale (quindi importo x 1)
    2 -> (quindi importo x 6)
    3 -> (quindi importo x 4)
    4 -> (quindi importo x 3)
    6 -> (importo semestrale x 2)
    12 -> indica che l'importo è mensile x 12

    che NON mi calcoli a schermo (nel medesimo campo o in un altro) l'importo risultante secondo il moltiplicatore scelto, ma mi calcoli "semplicemente" il Totale (la somma) in un campo in fondo di questi vari importi risultati.

    Mi spiego meglio, ad esempio io ho un importo di 5 per il primo campo che è annuale perciò:

    - se scelgo l'opzione 1, rimarrà 5;

    Ho un importo di 10 per il secondo campo perciò:

    - se scelgo l'opzione 2 l'importo sarà 10 x 6 = 60 (che non dovrà risultare da nessuna parte);

    Ho un importo di 15 per il terzo campo perciò:

    - se scelgo l'opzione 4 avrò 15 x 3 = 45 (che non dovrà risultare da nessuna parte);

    Per un Totale pari a 110,

    ecco sarebbe semplice (penso) se gli importi fossero solo mensili oppure annuali, il problema sorge se si vuole avere un importo trimestrale o quadrimestrale...

    qualche suggerimento?

    Per dare un'idea ecco qua il codice HTML / JS che ho finora...

    codice:
    <html>
    
    	<head>
    
    	<script language="javascript" type="text/javascript">
    
    	var campi = new Array("Imp1", "Imp2", "Imp3"); 
    
    	function somma(ff) {
      		var tot = 0;
      		for(var i=0; i<campi.length; i++) {
      	  var c = ff.elements[campi[i]].value;
      	  if(c=="") c="0";
      	  if(c=='NaN') {alert("Not A Number"); c=0;}
      	  tot += parseInt(c,10);
      	}
      	ff.totale.value = tot;
    	}
    
    	</script>
    
    	<head>
    
    			<body>	
    
    			<form name="modulo">	
    
    			<table align="center">
    
    			<tr>	
    
    			<td>Importo 1</td>
    			<td><input name="Imp1" type="text" size="10" onblur="somma(this.form)" />  </td>
    			
    			<td><select name="MoltImp1" size="1" maxLength="50">
      			
               		<option>1</option>
               		<option>2</option>
               		<option>3</option>
               		<option>4</option>
               		<option>6</option>
               		<option selected>12</option>
    			</select>			
    
    			
    			</tr>
    
    			<tr>
    			<td>Importo 2</td>
    			<td><input name="Imp2" type="text" size="10" onblur="somma(this.form)" />  </td>
    			
    			<td><select name="MoltImp2" size="1" maxLength="50">
      			
               		<option selected>1</option>
               		<option>2</option>
               		<option>3</option>
               		<option>4</option>
               		<option>6</option>
               		<option>12</option>
    			</select>
    
    
    			
    			</tr>
    		
    			<tr>
    			<td>Importo 3</td>
    			<td><input name="Imp3" type="text" size="10" onblur="somma(this.form)" /> </td>
    			
    			<td><select name="MoltImp3" size="1" maxLength="50">
      			
               		<option selected>1</option>
               		<option>2</option>
               		<option>3</option>
               		<option>4</option>
               		<option>6</option>
               		<option>12</option>
    			</select>
    
    			</tr>
    
    			<tr>
    			<td>TOTALE</td>
    			<td><input name="totale" type="text" size="10" readonly="readonly" /></td>
    			</tr>
    
    			</table>
    
    			</body>
    
    			</form>
    
    </html>
    Domanda: si può fare in PHP? Come?

    Grazie


  2. #2
    non ci ho capito una fava...
    .. comunque con php si può fare, ma scordati il refresh automatico, devi per forza prevedere almeno 2 pagine: una di form e l'altra di destinazione.
    Se non ho capito male, tu hai 3 campi e ognuno ha un moltiplicatore. Ti serve vedere solo la somma risultante dai calcoli di ogni coppia di campi... però non ho capito la questione del semestrale....
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

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.