Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: function

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    function

    ciao a tutti,

    sto costruendo una funzione... ma sembra non voglia funzionare

    la funzione è questa
    codice:
    function calcola(pulizia,forfait,consumi){
     var ex = pulizia+forfait+consumi;
     var s=0;
     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;
     
     
     	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"){
    	prezzo *= splitString[1];
    	}else if(letto != "NO"){
    	prezzo *= splitString[2];
    	}else if(tv != "NO"){
    	prezzo *= splitString[3];
    	}else if(animali != "NO"){
    	prezzo *= splitString[4];
    	}
    	prezzo += splitString[0];
    	prezzo += ex;
    	
     	s += prezzo;
    	
    	caparra1 = s*20/100;
    	document.form1.totale.value = s;
    	document.form1.caparra.value = caparra1;
     	alert("PREZZO DELLE SETTIMANE SELEZIONATE € "+s+"\nLA CAPARRA E' PARI A € "+caparra1);
    
    }
    e io gli passo i dati cosi

    codice:
     <input name="selezione10" type="checkbox" id="selezione10" onClick="return calcola(4,5,9)" value="150-0-7-7-8">
    mi dereste una manoa trovare l'errore :master:

    grazie mille

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    qui ci sono almeno due errori

    codice:
            }else if{ tv != "NO"){
    	prezzo *= splitString[3];
    	}else if{ animali != "NO"){
    al posto delle graffe vanno due parentesi tonde.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille ho corretto cosi
    codice:
    function calcola(pulizia,forfait,consumi){
     var ex = pulizia+forfait+consumi;
     var s=0;
     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;
     
     
     	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"){
    	prezzo *= splitString[1];
    	}else if(letto != "NO"){
    	prezzo *= splitString[2];
    	}else if(tv != "NO"){
    	prezzo *= splitString[3];
    	}else if(animali != "NO"){
    	prezzo *= splitString[4];
    	}
    	prezzo += splitString[0];
    	prezzo += ex;
    	
     	s += prezzo;
    	
    	caparra1 = s*20/100;
    	document.form1.totale.value = s;
    	document.form1.caparra.value = caparra1;
     	alert("PREZZO DELLE SETTIMANE SELEZIONATE € "+s+"\nLA CAPARRA E' PARI A € "+caparra1);
    
    }
    ma non funziona

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    puoi provarlo con FF e dire qual è il messaggio di errore che ottieni??
    Basta guardare la console javascript...
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    scusa cos'è FF??

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    FF -> Firefox
    IE -> Internet Exploder
    NN -> Netscape


    Se usi FF e vai sul menu strumenti > Javascript console hai un report sugli errori/warnings della pagina.

    Di solito nel report c'è scritto tipo di errore e linea in cui si verifica.

    Se ancora non lo hai scaricato prendi in seria considerazione di farlo presto visto che è uno strumento molto utile.

    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    mi dice previsto oggetto a questa riga
    codice:
    prezzo += splitString[0];
    :master:

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ok adesso cosi funziona

    solo chei conti sono tutti sballati

    codice:
    function calcola(pulizia,forfait,consumi){
     var ex = pulizia+forfait+consumi;
     var s=0;
     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 = 0;
     
     	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"){
    	prezzo *= splitString[1];
    	}else if(letto != "NO"){
    	prezzo *= splitString[2];
    	}else if(tv != "NO"){
    	prezzo *= splitString[3];
    	}else if(animali != "NO"){
    	prezzo *= splitString[4];
    	}
    	prezzo += splitString[0];
    	prezzo += ex;
    	
     	s += prezzo;
    	
    	caparra1 = s*20/100;
    	document.form1.totale.value = s;
    	document.form1.caparra.value = caparra1;
     	alert("PREZZO DELLE SETTIMANE SELEZIONATE € "+s+"\nLA CAPARRA E' PARI A € "+caparra1);
    
    }
    :master:

  9. #9
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    nel tuo codice valorizzi splitString così

    splitString = e[i].value.split("-");

    dovresti fare un alert subito dopo questa riga e farti stampare il contenuto della varibile

    alert(splitString);

    in teoria dovrebbe essere "null" oppure vuoto visto l'errore. Ciò significa che

    e[i].value.split("-");

    non ritorna alcun array probabilmente perchè e[i] non esiste/non è un oggetto.

    A quel punto devi capire esattamente che cosa contiene e[i]
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da Rossella_75
    ok adesso cosi funziona

    solo chei conti sono tutti sballati
    dopo aver valorizzato le variabili fattele stampare con un alert e guarda se i valori sono giusti o si sballano durante le operazioni
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.