Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    operazioni con javascript

    ciao a tutti,

    nonriesco a capire perchè questa funziona continua a faredei conti sballati

    codice:
    function calcola(quale,pulizia,forfait,consumi){
    
     var ex = pulizia+forfait+consumi;
     var s=0;
     var pr1 = parseInt(0, 10);
     var e=document.form1.elements;
     var culla = document.form1.culla.value;
     var letto = document.form1.letto.value;
     var tv = document.form1.tv.value;
     var animali = document.form1.animali.value;
     var prezzo = parseInt(document.form1.totale.value, 10);
    
     	for(var i=0;i<e.length;i++)
     	if(e[i].name.indexOf('selezione')>-1 && e[i].type=='checkbox' && e[i].checked){
    	splitString = e[i].value.split("-");
    	if (culla != "NO"){
    	culla *= parseInt(splitString[1], 10);	
    	pr1 += culla;
    	}else if(letto != "NO"){
    	letto *= parseInt(splitString[2], 10);	
    	pr1 += letto;
    	}else if(tv != "NO"){
    	tv *= parseInt(splitString[3], 10);	
    	pr1 += tv;
    	}else if(animali != "NO"){
    	animali *= parseInt(splitString[4], 10);	
    	pr1 += animali;
    	}
    	pr1 += parseInt(splitString[0], 10);
    	pr1 += parseInt(ex, 10);
    	
     	s += pr1;
    	
    	caparra1 = s*20/100;
    	e['totale'+quale].value = s;
    	e['caparra'+quale].value = caparra1;
    	
    
    	prezzo += parseInt(pr1, 10);
    	document.form1.totale.value = prezzo;
    	
    	caparraglob = prezzo*20/100;
    	document.form1.caparra.value = caparraglob;
    }
    }
    la richiamo cosi
    codice:
    <input name="selezione10" type="checkbox" id="selezione10" onClick="return calcola(10,4,5,9)" value="150-0-7-7-8">
    e i prezzi variano in base ai valori di alcuni menu a tendina
    codice:
                  <select name="culla" class="Stile17" id="culla" onChange="return disabilita()">
                      <option value="NO">NO</option>
                      <option value="1">1</option>
                      <option value="2">2</option>
                  </select>
              <select name="letto" class="Stile17" id="letto" onChange="return disabilita()">
                <option value="NO">NO</option>
                <option value="1">1</option>
                <option value="2">2</option>
              </select>
              <select name="tv]" class="Stile17" id="tv" onChange="return disabilita()">
                <option value="NO">NO</option>
                <option value="1">SI</option>
              </select>
                <select name="animali" class="Stile17" id="animali" onChange="return disabilita()">
                  <option value="NO">NO</option>
                  <option value="1">SI</option>
                </select>
    eppure sono solo una moltiplicazione e una addizione

    Grazie mille :master:

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Cosi` ad occhio direi che manca la graffa che racchiude l'argomento del for.

    Comunque ti consiglio di formattare correttamente il codice, e ti dovrebbe saltare subito all'occhio.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille, ho ricontrollato il codice e adesso sembra funzionare bene!!


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.