un IF dentro l'altro... Perchè no?!?!?

sabiuf

Nuovo Utente
1 Giu 2012
13
0
0
Ragazzi ho trovato che l'errore per il quale non si inizializza questo script è dovuto al fatto che ci sia un IF dentro un altro!!
Con le seguenti stringhe intendo fare una stima del fabbisogno proteico giornaliero, prendendo spunto da questa http://life.familyeducation.com/protein/foods/48678.html tabella.

Codice:
<html>
	<head>
		<title>
			Proteine
		</title>
	</head>

	<body>
		<H2 align="center"> Calcolo del fabbisogno proteico giornaliero <H2> <br>


<script type="text/javascript">


	var sesso=prompt("Qual e' il tuo sesso? Digita 'M' o 'F'.");
	var eta =prompt("Inserisci la tua eta':");
	var fabb=0;
	var mesi;
	var incinta;
	var allattamento;

	if (sesso==m || sesso==M) { 
				if (eta<1) { document.write("ciao");
						mesi=prompt("Quanti mesi ha il bambino?");
						if (mesi<=5) {fabb=fabb+13};
						else { fabb=fabb+14 }; 
					   }

			 else { if (eta>=1 && eta<=3)	{ fabb=fabb+16 };
					else {if (eta>=4 && eta <=6) { fabb=fabb+24 };
						else {if (eta>=7 && eta <=10) { fabb=fabb+28 };
							else {if (eta>=11 && eta <=14) { fabb=fabb+45 };
								else {if (eta>=15 && eta <=18) { fabb=fabb+59 };
									else {if (eta>=19 && eta <=24) { fabb=fabb+58 };
										else {if (eta>=25) { fabb=fabb+63 };
										}
									}
								}
							}
						}
					}
				}
									
								
							
						
					
				
				}

	else if (sesso==f || sesso=F) { 
					incinta= prompt ("La donna e' incinta? Digitare SI o NO");
					if (incinta==SI || incinta==si) {fabb=fabb+60};

					else { allattamento=prompt("La donna e' in allattamento? Digitare SI o NO");
						if (allattamento==SI || allattamento==si) { 
											    mesi=prompt ("Da quanti mesi la donna e' in allattamento?");
												if (mesi<=6) {fabb=fabb+65};
												else {fabb=fabb+62};
											  } 
					}



					else {if (eta>=1 && eta<=3)	{ fabb=fabb+16 };
						else {if (eta>=4 && eta <=6) { fabb=fabb+24 };
							else {if (eta>=7 && eta <=10) { fabb=fabb+28 };
								else {if (eta>=11 && eta <=14) { fabb=fabb+45 };
									else {if (eta>=15 && eta <=18) { fabb=fabb+59 };
										else {if (eta>=19 && eta <=24) { fabb=fabb+58 };
											else {if (eta>=25) { fabb=fabb+63 };
											
											}
										}
									}
								}
							}
						}
					}
										
									
								
							
						
					

					

		document.write("La persona necessita di un fabbisogno proteico giornaliero di"+" "+fabb+" "+grammi".");


</script>

		

	</body>

</html>
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Salve provi cosi.... ho compilato solo la prima parte per mancanza di tempo.... chiaramente il resto è sulla stessa riga....

Se ha problemi.... lo dica pure... buona serata :

HTML:
<html>
	<head>
		<title>
			Proteine
		</title>

		<H2 align="center"> Calcolo del fabbisogno proteico giornaliero <H2> <br>


<script type="text/javascript">



           
                 function controllo() { 

	var sesso=prompt("Qual e' il tuo sesso? Digita 'M' o 'F'.");
	var eta = prompt("Inserisci la tua eta': ( Per età minore di un anno digita 0");
         var fabb="";
	var mesi="";
	var incinta="";
	var allattamento="";




	if ((sesso=='m') || (sesso=='M')) {


      if ( eta<1 ) { 
                          mesi=prompt("Quanti mesi ha il bambino?");
                         if (mesi<=5) {var fabb=13;
						 } else { var fabb=14; }; 
						
         var x ='ciao';
            document.getElementById("saluto").innerHTML = x; } 
				
								
   else { if ((eta>=1) && (eta<=3)) { var fabb=16 }; 

             if ((eta>=4) && (eta <=6)) { var fabb=24 }; 

                  if ((eta>=7) && (eta <=10)) { var fabb=28 };

			if ((eta>=11) && (eta <=14)) { var fabb=45 };

				if ((eta>=15) && (eta <=18)) { var fabb=59 };

					if ((eta>=19) && (eta <=24)) {var fabb=58 };

						
                                                      if (eta>=25) { var fabb=63 };




 }
	
					
								
						}											
			

	document.getElementById("saluto1").innerHTML ='La persona necessita di un fabbisogno proteico giornaliero di '+fabb+' grammi';  };



 
</script>

	</head>

	<body>
		<div id="saluto"></div>
               <div id="saluto1"></div>

	                            <script type="text/javascript"> controllo(); </script>   

           </body>

</html>
 

sabiuf

Nuovo Utente
1 Giu 2012
13
0
0
Niente da fare!!

La ringrazio per il tempo dedicato, ma non funziona (molto probabilmente per errori che commetto inconsapevolmente, non essendo un esperto in campo js).
Per esempio non conosco la funzione getElementByID oppure .innerHTML... Fatto stà che il codice è diventato il seguente, ma non funziona ugualmente!

Codice:
<html>
	<head>
		<title>
			Proteine
		</title>

		<H2 align="center"> Calcolo del fabbisogno proteico giornaliero <H2> <br>


<script type="text/javascript"> 



           
function controllo() { 

	var sesso=prompt("Qual e' il tuo sesso? Digita 'M' o 'F'.");
	var eta = prompt("Inserisci la tua eta': ( Per età minore di un anno digita 0");
        var fabb="";
	var mesi="";
	var incinta="";
	var allattamento="";



	
	if ((sesso=='m') || (sesso=='M'))				 	{


      if ( eta<1 ) { 
                          mesi=prompt("Quanti mesi ha il bambino?");
                         if (mesi<=5) {var fabb=13;
						 } else { var fabb=14; }; 
						
         var x ='ciao';
            document.getElementById("saluto").innerHTML = x; 
		   								} 
					
								
   else { if ((eta>=1) && (eta<=3)) { var fabb=16 }; 

             if ((eta>=4) && (eta <=6)) { var fabb=24 }; 

                  if ((eta>=7) && (eta <=10)) { var fabb=28 };

			if ((eta>=11) && (eta <=14)) { var fabb=45 };

				if ((eta>=15) && (eta <=18)) { var fabb=59 };

					if ((eta>=19) && (eta <=24)) {var fabb=58 };

						
                                                      if (eta>=25) { var fabb=63 };
	}					
				
					
 document.getElementById("saluto1").innerHTML ='La persona necessita di un fabbisogno proteico giornaliero di '+fabb+' grammi';  };

	else if ((sesso==f) || (sesso=F)) { 
				incinta= prompt ("La donna e' incinta? Digitare SI o NO");
				if (incinta==SI || incinta==si) {var fabb=fabb+60};

				else { allattamento=prompt("La donna e' in allattamento? Digitare SI o NO");
					if ((allattamento==SI) || (allattamento==si)) { 
									mesi=prompt ("Da quanti mesi la donna e' in allattamento?");
									if (mesi<=6) {var fabb=fabb+65};
									else {var fabb=fabb+62};
									 } 
		}



			if ((eta>=1) && (eta<=3)	{ var fabb=fabb+16 };
				if ((eta>=4) && (eta <=6)) { var fabb=fabb+24 };
					if ((eta>=7) && (eta <=10)) { var fabb=fabb+28 };
						if ((eta>=11) && (eta <=14)) { var fabb=fabb+45 };
							if ((eta>=15) && (eta <=18)) { var fabb=fabb+59 };
								if ((eta>=19) && (eta <=24)) { var fabb=fabb+58 };
									if (eta>=25) { var fabb=fabb+63 };
											
						
						}
					
										
									
								
							
						
					

					

document.getElementById("saluto1").innerHTML ='La persona necessita di un fabbisogno proteico giornaliero di '+fabb+' grammi';  }; 


</script>

		

	</body>

</html>
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Salve provi cosi :

HTML:
<html>
	<head>
		<title>
			Proteine
		</title>

		<H2 align="center"> Calcolo del fabbisogno proteico giornaliero <H2> <br>


<script type="text/javascript">

	var sesso=prompt("Qual e' il tuo sesso? Digita 'M' o 'F'.");
	var eta = prompt("Inserisci la tua eta': ( Per età minore di un anno digita 0");
         var fabb="";
	var mesi="";
	var incinta="";
	var allattamento="";

           
                 function controllo() { 






	if ((sesso=='m') || (sesso=='M')) {

                       if ( eta<1 ) { 
                          mesi = prompt("Quanti mesi ha il bambino?");
                         if (mesi<=5) {var fabb=13;
						 } else { var fabb=14; }; 
						
         var x ='ciao';
            document.getElementById("saluto").innerHTML = x; } 
				
								
   else { if ((eta>=1) && (eta<=3)) { var fabb=16 }; 

        if ((eta>=4) && (eta <=6)) { var fabb=24 }; 

        if ((eta>=7) && (eta <=10)) { var fabb=28 };

	if ((eta>=11) && (eta <=14)) { var fabb=45 };

		if ((eta>=15) && (eta <=18)) { var fabb=59 };

		if ((eta>=19) && (eta <=24)) {var fabb=58 };

                 if (eta>=25) { var fabb=63 };  } } else {	



         if ((sesso=='f') || (sesso=='F')) { incinta= prompt ("La donna e' incinta? Digitare 'SI' o 'NO'"); 


if (incinta=='SI' || incinta=='si') {var fabb = 60 } 
   else { allattamento=prompt("La donna e' in allattamento? Digitare SI o NO");  
		 			  

	 if ((allattamento=='SI') || (allattamento=='si')) { 
		mesi=prompt ("Da quanti mesi la donna e' in allattamento?");
			if (mesi<=6) {var fabb=65}
				else {var fabb=62};
						 }
				


     else  {   if ((eta>=1) && (eta<=3) )	{ var fabb=16 };
	if ((eta>=4) && (eta <=6)) { var fabb=24 };
		if ((eta>=7) && (eta <=10)) { var fabb=28 };
		if ((eta>=11) && (eta <=14)) { var fabb=45 };
			if ((eta>=15) && (eta <=18)) { var fabb=59 };
			if ((eta>=19) && (eta <=24)) { var fabb=58 };
			if (eta>=25) { var fabb=63 };
											
						
						}
					


                                       }} };
					
	

	document.getElementById("saluto1").innerHTML ='La persona necessita di un fabbisogno proteico giornaliero di '+fabb+' grammi';  };

 
</script>

	</head>

	<body>
		<div id="saluto"></div>
               <div id="saluto1"></div>

	                            <script type="text/javascript"> controllo(); </script>   

           </body>

</html>


Ma mi scusi se le preciso una cosa.... il controllo dell'allattamento è previsto solo per le femminucce ?
I maschietti direttamente a trovarsi un lavoro devono andare ?? :)
Mi perdoni... ma notato e scritto...
 
Ultima modifica:

sabiuf

Nuovo Utente
1 Giu 2012
13
0
0
Grazie mille!

Tante grazie, così funziona!
Comunque io per allattamento ho capito allattamento attivo, inteso per una mamma che allatta il proprio bambino!! Dite che sia il contrario? Ovvero in periodo di allattamento "passivo", cioè nel primo mese di nascita di un bambino??
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
No chiedo scusa... mi riferisco a questo passaggio :

HTML:
if ((sesso=='f') || (sesso=='F')) { incinta= prompt ("La donna e' incinta? Digitare 'SI' o 'NO'"); 


if (incinta=='SI' || incinta=='si') {var fabb = 60 } 
   else { allattamento=prompt("La donna e' in allattamento? Digitare SI o NO");
fatto cosi... il controllo se la donna è incinta avviene solo se ha una femminuccia.... guardi bene :)
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Io farei cosi... se le va le dia uno sguardo :)

HTML:
<html>
<head>
<title>
Proteine
</title>

<H2 align="center"> Calcolo del fabbisogno proteico giornaliero <H2> <br>

<script type="text/javascript">

var sesso = "";
var eta="";
var fabb="";
var mesi="";
var incinta="";
var allattamento="";

function controllo() {

var x ='Ciao, per sapere il valore proteico di cui si necessita, rispondi alle domande che ti verranno poste.';
document.getElementById("saluto").innerHTML = x;

incinta= prompt ("La donna e' incinta? Digitare 'SI' o 'NO'");

if ((incinta=='SI') || (incinta=='si')) {var fabb = 60 }
else { allattamento=prompt("La donna e' in allattamento? Digitare SI o NO");

if ((allattamento=='SI') || (allattamento=='si')) {
mesi=prompt ("Da quanti mesi la donna e' in allattamento?");
if (mesi<=6) {var fabb=65}
else {var fabb=62};
}  else {

sesso=prompt("Qual e' il tuo sesso? Digita 'M' o 'F'.");

eta = prompt("Inserisci la tua eta': ( Per età minore di un anno digita 0");

if ((sesso=='m') || (sesso=='M')) {

if ( eta<1 ) {
mesi = prompt("Quanti mesi ha il bambino?");
if (mesi<=5) {var fabb=13;
} else { var fabb=14; };

}

else { if ((eta>=1) && (eta<=3)) { var fabb=16 };

if ((eta>=4) && (eta <=6)) { var fabb=24 };

if ((eta>=7) && (eta <=10)) { var fabb=28 };

if ((eta>=11) && (eta <=14)) { var fabb=45 };

if ((eta>=15) && (eta <=18)) { var fabb=59 };

if ((eta>=19) && (eta <=24)) {var fabb=58 };

if (eta>=25) { var fabb=63 };  }; } else {

if ((sesso=='f') || (sesso=='F')) {

if ( eta<1 ) {
mesi = prompt("Quanti mesi ha la bambina?");
if (mesi<=5) {var fabb=13; } else { var fabb=14; };

}

else { if ((eta>=1) && (eta<=3)) { var fabb=16 };

if ((eta>=4) && (eta <=6)) { var fabb=24 };

if ((eta>=7) && (eta <=10)) { var fabb=28 };

if ((eta>=11) && (eta <=14)) { var fabb=45 };

if ((eta>=15) && (eta <=18)) { var fabb=59 };

if ((eta>=19) && (eta <=24)) {var fabb=58 };

if (eta>=25) { var fabb=63 };  }; } } }

};

document.getElementById("saluto1").innerHTML ='La persona necessita di un fabbisogno proteico giornaliero di '+fabb+' grammi';  };

</script>

</head>

<body>
<div id="saluto"></div>
<div id="saluto1"></div>

<script type="text/javascript"> controllo(); </script>

</body>

</html>
 
Ultima modifica:

sabiuf

Nuovo Utente
1 Giu 2012
13
0
0
Forse non ho capito bene io...

...ma fatto così il controllo non avviene sempre?
Deve chiedere da quanti mesi la donna è incinta SOLO se è incinta! Così invece inizia con il prompt che salva il risultato su "incinta".. o no?
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Buonasera, infatti io io scritto che IO avrei fatto cosi... chiaramente lei può scegliere di importare come vuole, mi sono permesso di cambiarlo xchè se lei guarda bene il suo.... solo se il nato è una femminuccia portava dopo la richiesta se la donna era incinta.... la invito a riguardare bene quello che lei ha detto che funzionava bene... :)

Ho appena controllato quello che ho ancora sul mio pc.... se dico che la donna non è incinta non mi chiede altro... va avanti e mi chiede se è in allattamento.. se no... chiede l'eta del bimbo o persona....

Ho compreso lei cosa vuole dire... basta che cambi .... se ha problemi me lo dica e se le va vedremo insieme... :)
 
Ultima modifica:

sabiuf

Nuovo Utente
1 Giu 2012
13
0
0
Penso di aver capito l'errore che c'è alla base do tutto, ovvero un errore di interpretazione da parte di uno dei due!
Io come "incinta" ho inteso che la donna che stiamo esaminando sia incinta.. la sua interpretazione forse riguarda il "feto".. ovvero è maschio o femmina? Un po' come era successo per l'allattamento!
L'individuo allatta o viene allattato nel periodo di allattamento?
E se si mette incinta è la donna incinta oppure si sta analizzando il nascituro?
Non penso che un individuo non ancora nato necessiti di 60g/giorno di proteine ;)
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Mi legga per cortesia.... io ho solo notato questo e fatto notare :

HTML:
if ((sesso=='f') || (sesso=='F')) { incinta= prompt ("La donna e' incinta? Digitare 'SI' o 'NO'"); 

if (incinta=='SI' || incinta=='si') {var fabb = 60 } 
   else { allattamento=prompt("La donna e' in allattamento? Digitare SI o NO");  		  

if ((allattamento=='SI') || (allattamento=='si')) { 
	mesi=prompt ("Da quanti mesi la donna e' in allattamento?");
	if (mesi<=6) {var fabb=65}
		else {var fabb=62};
				 }

Messo cosi il codice interpreta.... il bimbo è femmina , si allora la donna è incinta ?? ..

Mi sono chiesto semplicemente xchè se il bambino è maschio non si debba chiedere la stessa cosa...
La invito a riguardarsi il codice... se poi per lei va bene cosi... sta benissimo anche a me :)
Buona serata.
 

sabiuf

Nuovo Utente
1 Giu 2012
13
0
0
Penso di dover riguardare tutto a mente fresca quando mi collego dal computer.. domani rileggeró tutto con calma.. mi scuso se sto creando confusione intanto!
 

sabiuf

Nuovo Utente
1 Giu 2012
13
0
0
Mi legga per cortesia.... io ho solo notato questo e fatto notare :

HTML:
if ((sesso=='f') || (sesso=='F')) { incinta= prompt ("La donna e' incinta? Digitare 'SI' o 'NO'"); 

if (incinta=='SI' || incinta=='si') {var fabb = 60 } 
   else { allattamento=prompt("La donna e' in allattamento? Digitare SI o NO");  		  

if ((allattamento=='SI') || (allattamento=='si')) { 
	mesi=prompt ("Da quanti mesi la donna e' in allattamento?");
	if (mesi<=6) {var fabb=65}
		else {var fabb=62};
				 }



Mi sono chiesto semplicemente xchè se il bambino è maschio non si debba chiedere la stessa cosa...

Non si chiede perchè qua stiamo analizzando la persona. Se è incinta, la persona che è incinta avrà bisogno di x proteine, e dal momento che un maschio non può essere "incinto" per il maschio non si chiede :p
É chiaro ora cosa intendevo, oppure c'è ancora qualche ambiguità?

Nel caso in cui sia chiaro, volevo chiedere a chiunque legga o anche a lei, Cavaliere123, se mi può indicare qualche guida di Javascript (intendo fare lo stesso script utilizzando però un form con checkbox o selection).
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Chiedo scusa.... ma era solo per completezza di intenti... spero di non aver disturbato troppo...
 
Discussioni simili
Autore Titolo Forum Risposte Data
MattBolo Metodi per visualizzare un sito dentro un altro dominio Domini 2
J Aggiornare form dentro altro form Javascript 5
Z [AS3] Rendere attivo pulsante dentro animazione di altro pulsante Flash 0
M Pulsante dentro altro pulsante Flash 12
S [VB.NET]: Coordinate immagini dentro una PictureBox Visual Basic 0
R Variabile non risconosciuta dentro una funzione PHP 1
R Selettori dentro altri selettori? HTML e CSS 3
M Select Option dentro una Table jQuery 2
M NbLines dentro FPDF PHP 3
MeWeb Marketing Ciao, per la prima volta dentro ad un forum Presentati al Forum 1
S [PHP] Finestra poupup dentro IF PHP 17
Tommy03 Variabile PHP dentro a JQuery PHP 3
M [PHP] valore dentro uno shortcode PHP 0
G Importare database dentro un contenitore (docker) wordpress Programmazione 1
G importare database mysql dentro un contenitore (docker) PHP 6
B funzioni per creare file e inserirli dentro una certa cartella in php? PHP 1
trattorino [PHP] Risultati dentro array precisi e confrontabili PHP 7
C [PHP] SOSTITUIRE VALORI DENTRO STRINGA PHP 0
J SVENDO PAGINA FACEBOOK 10.000 FANS (DENTRO I DETTAGLI) Annunci servizi di Social Media Marketing 4
trattorino [Javascript] [HTML] risultato imput dentro text area Javascript 2
trattorino [PHP] prendere contenuto dentro un div PHP 3
D cambio il dominio per mettere keyword dentro? SEO e Posizionamento 8
C [PHP] Controntare valori dentro array PHP 2
S [Javascript] Sostituire elemento HTML preso randomicamente dentro array Javascript 1
M element style immodificabile dentro una galleria javascript Javascript 6
C query dentro foreach PHP 1
L Ordinare articoli dentro categorie e tag in ordine alfabetico wordpress WordPress 1
M Href in xml verso ancora posta dentro un iframe XML 0
C Div display-table cn dentro tabelle HTML e CSS 1
F Apertura pagina web esterna dentro un frame di un altra pagina HTML e CSS 3
A Allineare il testo dentro una select composta da più campi pesi da un db PHP 5
C if dentro document.getElementById("").innerHTML Javascript 1
L Inserire codice php dentro al javascript PHP 4
I dopo aver spostato il div i link dentro non vanno più. HTML e CSS 2
C Form con dentro div errore validatore w3c HTML e CSS 6
S Aprire file sul pc cliente dentro una intranet. PHP 1
felino Visualizzare degli input dinamicamente dentro un div jQuery 1
K tabella dentro una cella HTML e CSS 4
D Immagini dentro textfield che restano in linea (e non vadano a capo) Flash 0
felino Stampare un define dentro un require_once PHP 7
T Integrare AdMob dentro app Android Sviluppo app per Android 2
A Non visualizza google map dentro la mia app Android Sviluppo app per Android 1
ivarello Array dentro l'array PHP 3
ivarello [RISOLTO] Perdita dei script dentro al div refreshato jQuery 3
Nik Articoli suddivisi in categorie dentro accordion tab WordPress 0
P Portare fuori il contenuto di una chiamata ajax dentro un iframe Ajax 0
D Stampare valori dentro una tabella PHP 7
F PHP dentro file *.js ? PHP 1
J while dentro while per invio email blocchi PHP 0
S slecet dentro una classe PHP 6

Discussioni simili