Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855

    aiuto rendere dinamica funzione

    ciao


    ho fatto questa funzione
    codice:
    <script language="JavaScript">
    <!--
    function somma() {
    
    var val1 = document.frmInsUsato.pagamento_1rata.value;
    var val2 = document.frmInsUsato.pagamento_2rata.value;
    var val3 = document.frmInsUsato.pagamento_3rata.value;
    var val4 = document.frmInsUsato.pagamento_4rata.value;
    var val5 = document.frmInsUsato.pagamento_5rata.value;
    var Vimporto = document.frmInsUsato.importo.value;
    
    if(val1=="") val1="0";
    if(val2=="") val2="0";
    if(val3=="") val3="0";
    if(val4=="") val4="0";
    if(val5=="") val5="0";
    
    if(Vimporto=="") Vimporto="0";
    
    
    val1 = parseInt(val1);
    val2 = parseInt(val2);
    val3 = parseInt(val3);
    val4 = parseInt(val4);
    val5 = parseInt(val5);
    
    Vimporto = parseInt(Vimporto);
    
    a = Vimporto - (val1 + val2 + val3 + val4 + val5) +",00"
    
    
    document.frmInsUsato.dare.value = a;
    }
    //-->
    </script>
    ora, invece di fare
    var val1 = document.frmInsUsato.pagamento_1rata.value;
    var val2 = document.frmInsUsato.pagamento_2rata.value;
    var val3 = document.frmInsUsato.pagamento_3rata.value;

    vorrei inserire una for in modo che mi vengano create in base al valore di un campo..
    per esempio
    ho provato a fare cosi


    for(a=1;a < document.frmInsUsato.totale_i_rate.value;a++){
    var val+a = document.frmInsUsato.["pagamento_"+a+"rata"].value;
    }

    ma naturalmente non funziona...

    cosa faccio?


    ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855
    non so come avere delle variabili con nuovi nomi...

    ho provato cosi ma mi da errore
    codice:
    for(a=0;a < document.frmInsUsato.totale_i_rate.value;a++){
     var "val"+a = document.frmInsUsato.["pagamento_"+a+"rata"].value;
     if("val"+a=="") "val"+a="0";
     "val"+a = parseInt("val"+a);
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855
    mi da errore alla riga

    val[a] = document.frmInsUsato.["pagamento_"+a+"rata"].value;

    dicendo

    previsto identificatore....

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Una bozza

    Non occore mettere ogni rata in una variabile separata se alla fine le sommi in un'altra.
    Fai la somma totale sin dall'inizio

    In omaggio le funzioni di trim !!!


    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function ltrim(item) { 
    return item.replace(/^\s*/gi,""); 
    } 
    function rtrim(item) { 
    return item.replace(/\s*$/gi,""); 
    } 
    function trim(item) {
     return rtrim(ltrim(item));
    }
    
    function somma() {
     cont = true;
     a    = 1;
     tot  = 0;
     while (cont) {
      curName = "rata_"+a;
    	if (document.mio_form[curName] == null) {
    	 cont = false;
    	} else {
    	 curVal = trim(document.mio_form[curName].value);
    	 if (! isNaN(curVal) && (curVal != '')) {
     	  tot = tot + parseInt(curVal);
    	 } // if (! isNaN(curVal))
    	 a++;
    	} // if (document.mio_form[curName] == null)
     } //  while (cont) 
     //--------- Solo per visualizzare il risultato
     alert(tot);
     return false;
    } // function somma()
    //-->
    </script>
    
    </head>
    <body>
    <form action="test3006.html" name="mio_form" method="post" onsubmit="return somma()">
     Rate 1 <input type="text" name="rata_1">
    
     Rate 2 <input type="text" name="rata_2">
    
     Rate 3 <input type="text" name="rata_3">
    
     Rate 4 <input type="text" name="rata_4">
    
     Rate 5 <input type="text" name="rata_5">
        
     <input type="submit" value="Somma">
    </form>
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855
    grazie mille per l'aiuto

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.