if -elseif-else non funziona

  • Creatore Discussione Creatore Discussione azure81
  • Data di inizio Data di inizio

azure81

Utente Attivo
19 Set 2008
37
0
0
Mi sapete dire cosa c'è di sbagliato in questo if un po' lungo?

if (m1==0|m2==0|m3==0|m4==0|m5==0|m6==0) {
r7=0
}
else if (m1==0|m2==0|m3==0|m4==0|m5==0|m6=r6) {
r7=(Number(m6));
}
else if (m1==0|m2==0|m3==0|m4==0|m5=r5|m6=r6) {
r7=(Number(m5)+Number(m6))/2;
}
else if (m1==0|m2==0|m3==0|m4=r4|m5=r5|m6=r6){
r7=(Number(m4)+Number(m5)+Number(m6))/3;
}
else if (m1==0|m2==0|m3=r3|m4=r4|m5=r5|m6=r6) {
r7=(Number(m3)+Number(m4)+Number(m5)+Number(m6))/4;
}
else if (m1==0|m2=r2|m3=r3|m4=r4|m5=r5|m6=r6) {
r7=(Number(m2)+Number(m3)+Number(m4)+Number(m5)+Number(m6))/5;
}
else {
r7=(Number(m1)+Number(m2)+Number(m3)+Number(m4)+Number(m5)+Number(m6))/6;
}


Tutte le variabili sono definite in una parte precedente del codice.
 
Ecco le variabili:
definizione variabili r
var r1=0;
var r2=0;
var r3=0;
var r4=0;
var r5=0;
var r6=0;
var r7=0;
var r8=0;

definizione variabili a
var a1=document.getElementById('a1');
var a2=document.getElementById('a2');
var a3=document.getElementById('a3');
var a4=document.getElementById('a4');
var a5=document.getElementById('a5');
var a6=document.getElementById('a6');
var a7=document.getElementById('a7');
var a8=document.getElementById('a8');

definizione variabili m
var m1=r1;
var m2=r2;
var m3=r3;
var m4=r4;
var m5=r5;
var m6=r6;

Allora tutte queste variabili servono per fare dei calcoli.
Il codice postato in precedenza deve fare la medie dei valori escludendo i valori uguali a 0.
Quel codice è corretto o ho fatto degli errori?
Facendogli fare la media senza controllare se i valori sono uguali a 0 o no funziona. Con quel codice da me inserito non funziona più e blocca tutta la pagina.
 
Non ho capito bene cosa devo postare.
Comunque questo codice è all'interno di un file .js incorporato in un file html nel quale c'è un modulo di calcolo, non so se posso postare l'indirizzo del sito dove si trova questo modulo.

Comunque l'utente inserisce dei parametri e in base ai valori inseriti il file .js esegue dei calcoli.

Non so come altro spiegarlo.
 
Questo ad esempio è uno dei calcoli

//primo risultato
r1=(redd/i)*100;
var m1=r1;
r1=Comma(r1.toFixed(0));
a1.innerHTML="€ "+r1;
 
Allora ho risolto modificando il codice e inserendolo in questo modo.

if ((m1==0) && (m2==0) && (m3==0) && (m4==0) && (m5==0) && (m6==0)) {
r7=0
}
else if ((m1==0)&&(m2==0)&&(m3==0)&&(m4==0)&&(m5==0)&&(m6>=1)) {
r7=(Number(m6))
}
else if ((m1==0)&&(m2==0)&&(m3==0)&&(m4==0)&&(m5>=1)&&(m6>=1)) {
r7=(Number(m5)+Number(m6))/2
}
else if ((m1==0)&&(m2==0)&&(m3==0)&&(m4>=1)&&(m5>=1)&&(m6>=1)) {
r7=(Number(m4)+Number(m5)+Number(m6))/3
}
else if ((m1==0)&&(m2==0)&&(m3>=1)&&(m4>=1)&&(m5>=1)&&(m6>=1)) {
r7=(Number(m3)+Number(m4)+Number(m5)+Number(m6))/4
}
else if ((m1==0)&&(m2>=1)&&(m3>=1)&&(m4>=1)&&(m5>=1)&&(m6>=1)) {
r7=(Number(m2)+Number(m3)+Number(m4)+Number(m5)+Number(m6))/5
}
else {
r7=(Number(m1)+Number(m2)+Number(m3)+Number(m4)+Number(m5)+Number(m6))/6
}


Erano degli errori di sintassi il problema. Ora gli devo dire che quando fa il calcolo di deve mostrare solo numeri interi. Non numeri tipo 0,6666645525 o simili.
So che si usa la parolina int ma dove la devo mettere? Si può scrivere r7.int=.....?
Grazie
 
allora risolto il problema dell'int, alla fine ho messo cint, ora ho il problema che in realtà la sintassi è corretta ma il codice non viene eseguito ma totalmente ignorato. Perchè?
 

Discussioni simili