Problema con 2 funzioni:array,select dinamica

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Salve ho un problema su queste due funzioni:
La prima esegue un banale calcolo utilizzando una variabile sempre diversa.In questo caso vorrei sapere se esiste un modo per sfoltire un po il codice ottenendo il solito risultato(magari utilizzando gli array).
Vi posto tutto:

Codice:
PiramidaleS
{
z-index:6;
padding:1em;
line-height: 20pt;
border:1px solid black;
padding-top: 2px;
padding-bottom: 5px;
position: absolute;
top: 318px;
left: 445px;
background-color: #FFF0F5;
color: black;
}

#PiramidaleL
{
z-index:7;
padding:1em;
line-height: 20pt;
border:1px solid black;
padding-top: 2px;
padding-bottom: 21px;
position: absolute;
top: 318px;
left: 790px;
background-color: #FFF0F5;
color: black;




function Massimale() {    
                var d,g,f,h,l,m,z13,z14,z15,z16,z17,z18,z19,z20,z21,z22,z23,z24;
                f = 90;
				h = 50;
				l = 70;
				m = 80;
				g = 100;
				h6 = 95;
				h7 = 85;
				h8 = 75;
				/*"Piramidale Stretto"*/
				d = parseInt(document.sommare.d.value);
				z13 = parseInt(d*h6/g);
                document.sommare.z13.value = z13+"kg";
				d = parseInt(document.sommare.d.value);
				z14 = parseInt(d*f/g);
                document.sommare.z14.value = z14 +"kg";
				d = parseInt(document.sommare.d.value);
				z15 = parseInt(d*h7/g);
                document.sommare.z15.value = z15 +"kg";
				d = parseInt(document.sommare.d.value);
				z16 = parseInt(d*m/g);
                document.sommare.z16.value = z16 +"kg";
				d = parseInt(document.sommare.d.value);
				z17 = parseInt(d*h8/g);
                document.sommare.z17.value = z17 +"kg";
				d = parseInt(document.sommare.d.value);
				z18 = parseInt(d*l/g);
                document.sommare.z18.value = z18 +"kg";
				/*"Piramidale Largo"*/
				d = parseInt(document.sommare.d.value);
				z19 = parseInt(d*l/g);
                document.sommare.z19.value = z19+"kg";
				d = parseInt(document.sommare.d.value);
				z20 = parseInt(d*h8/g);
                document.sommare.z20.value = z20 +"kg";
				d = parseInt(document.sommare.d.value);
				z21 = parseInt(d*m/g);
                document.sommare.z21.value = z21 +"kg";
				d = parseInt(document.sommare.d.value);
				z22 = parseInt(d*h7/g);
                document.sommare.z22.value = z22 +"kg";
				d = parseInt(document.sommare.d.value);
				z23 = parseInt(d*f/g);
                document.sommare.z23.value = z23 +"kg";
				d = parseInt(document.sommare.d.value);
				z24 = parseInt(d*h6/g);
                document.sommare.z24.value = z24 +"kg";				
			}
			
			
			
			
			
			<div id="PiramidaleS">
<form method="post" name="sommare">
<table border="1">
    <tr>
       PIRAMIDALE STRETTO
   </tr>
    <tr>
      <td><label class="MASSIMALE">%DEL MAX</label></td>
      <td>RIPETIZIONI</td>
      <td>RECUPERO</td> 
	  </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z13"></td>
   <td>1</td>
   <td>1-2'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z14"></td>
   <td>2</td>
   <td>1-2'</td>
   </tr>
   <tr>
   <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z15"></td>
   <td>3</td>
   <td>1-2'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z16"></td>
   <td>4</td>
   <td>1-2'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z17"></td>
   <td>5</td>
   <td>1-2'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z18"></td>
   <td>6</td>
   <td>1-2'</td>
   </tr>
   </table>
</div>

<div id="PiramidaleL">
<form method="post" name="sommare">
<table border="1">
    <tr>
       PIRAMIDALE LARGO
   </tr>
    <tr>
      <td><label class="MASSIMALE">%DEL MAX</label></td>
      <td>RIPETIZIONI</td>
      <td>RECUPERO</td> 
	  </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z19"></td>
   <td>6</td>
   <td>1-3'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z20"></td>
   <td>5</td>
   <td>1-3'</td>
   </tr>
   <tr>
   <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z21"></td>
   <td>4</td>
   <td>1-3'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z22"></td>
   <td>3</td>
   <td>1-3'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z23"></td>
   <td>2</td>
   <td>1-3'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z24"></td>
   <td>1</td>
   <td>1-3'</td>
   </tr>
   </table>
</div>


Per la seconda funzione invece vorrei capire dove sto sbagliando; vorrei creare una select dinamica utilizzando javascript, ma ci deve esser un errore perchè non mi da la seconda opzione.

Codice:
function selezionaOpzioni(scelta) {
var metodall = document.som.metodall;
metodall.options.length = 0;

if (scelta == "1") {
metodall.options[metodall.options.length] = new Option('Test di Harre');
metodall.options[metodall.options.length] = new Option('Metodo Bulgaro');
metodall.options[metodall.options.length] = new Option('Variante di Bechcevenov');
metodall.options[metodall.options.length] = new Option('Metodo Massimale');
metodall.options[metodall.options.length] = new Option('Metodo Piramidale');
}
if (scelta == "2") {
metodall.options[metodall.options.length] = new Option('Sistema di set multiplo');
metodall.options[metodall.options.length] = new Option('LIGHT TO HEAVY SYSTEM');
metodall.options[metodall.options.length] = new Option('HEAVY TO LIGHT SYSTEM');
metodall.options[metodall.options.length] = new Option('SCARICO PROGRESSIVO');
}
}
function aggiornaOpzioni(scelta){
var selezionato = document.som.obbiet.selectedIndex;
var campo = document.som.obbiet.options;
selezionaOpzioni(campo[selezionato].value);
}

SCEGLI OBBIETTIVO
<select name="obbiet" size ="1" onChange ="aggiornaOpzioni();">
<option selected></option>
<option value="1">Forza</option>
<option value="2">Massa</option>
</select>
SCEGLI METODO ALLENAMENTO
<select name= "metodall"  size ="1">
<option selected></option>
</select>
</form> 
<tr><td><input type="button" onClick="Massimale()" class="bottone" value="CALCOLA"></td></tr>
</div>

</body>
</html>

Grazie anticipatamente
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
il primo codice non l'ho ancora guardato
per il secondo io farei cosi
HTML:
<script>    
    function aggiornaOpzioni(scelta){
        var select = document.getElementById("metodall");
        var scelte = new Array();
        switch(scelta) {
            case '1':                
                scelte[0] = "Test di Harre";
                scelte[1] = "Metodo Bulgaro";
                scelte[2] = "Variante di Bechcevenov";
                scelte[3] = "Metodo Massimale";
                scelte[4] = "Metodo Piramidale";          
                break;
            case '2':                
                scelte[0] = "Sistema di set multiplo";
                scelte[1] = "LIGHT TO HEAVY SYSTEM";
                scelte[2] = "HEAVY TO LIGHT SYSTEM";
                scelte[3] = "SCARICO PROGRESSIVO";          
                break;
            default:
                    
                break;
        }         
        // azzero le option            
        select.options.length = 1;
        // creo le option in base agli elementi degli array
        for(var i=0; i<scelte.length; i++) {                
            select.options[select.options.length] = new Option(scelte[i],scelte[i]);        
        }        
    }
</script>
<form>
    SCEGLI OBBIETTIVO
    <select name="obbiet" onchange="aggiornaOpzioni(this.options[this.selectedIndex].value);">
        <option selected></option>
        <option value="1">Forza</option>
        <option value="2">Massa</option>
    </select>
    SCEGLI METODO ALLENAMENTO
    <select id="metodall" name="metodall"  size ="1">
        <option value=""></option>
    </select>
</form>
nel tuo non mi tornavano alcune cose, piu tardi lo riguardo meglio e ti so dire
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Grazie è perfetto.
Se devo esser sincero però non mi è mi è molto chiara questa parte:
Codice:
  // creo le option in base agli elementi degli array
        for(var i=0; i<scelte.length; i++) {                
            select.options[select.options.length] = new Option(scelte[i],scelte[i]);
Xkè select.options[select.options.length],Xkè l'operatore new?

Per quanto riguarda il codice che avevo scritto io ed il primo,sei riuscito a capire perchè non funzionava.

Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ho provato il tuo codice e funziona
a parte che ho dovuto ricostruire l'html che non hai postato ( forse il tuo problema era proprio nel codice html )
HTML:
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script>
            function selezionaOpzioni(scelta) {
                var metodall = document.som.metodall;
                metodall.options.length = 0;

                if (scelta == "1") {
                    metodall.options[metodall.options.length] = new Option('Test di Harre');
                    metodall.options[metodall.options.length] = new Option('Metodo Bulgaro');
                    metodall.options[metodall.options.length] = new Option('Variante di Bechcevenov');
                    metodall.options[metodall.options.length] = new Option('Metodo Massimale');
                    metodall.options[metodall.options.length] = new Option('Metodo Piramidale');
                }
                if (scelta == "2") {
                    metodall.options[metodall.options.length] = new Option('Sistema di set multiplo');
                    metodall.options[metodall.options.length] = new Option('LIGHT TO HEAVY SYSTEM');
                    metodall.options[metodall.options.length] = new Option('HEAVY TO LIGHT SYSTEM');
                    metodall.options[metodall.options.length] = new Option('SCARICO PROGRESSIVO');
                }
            }
            // il parametro scelta qui non serve
            function aggiornaOpzioni(){
                var selezionato = document.som.obbiet.selectedIndex;               
                var campo = document.som.obbiet.options;
                selezionaOpzioni(campo[selezionato].value);
            }
        </script>
    </head>
    <body>
        <div>
            <form name="som">
                SCEGLI OBBIETTIVO
                <select name="obbiet" size ="1" onChange ="aggiornaOpzioni();">
                    <option selected></option>
                    <option value="1">Forza</option>
                    <option value="2">Massa</option>
                </select>
                SCEGLI METODO ALLENAMENTO
                <select name= "metodall"  size ="1">
                    <option selected></option>
                </select>
                <input type="button" onClick="Massimale()" class="bottone" value="CALCOLA"/>
            </form> 
        </div>
    </body>
</html>
con questa istruzione
Codice:
select.options[select.options.length]
ci riferiamo alla option che vogliamo creare :
se le options sono gia 3
options[0], options[1] ,options[2]
quella che dobbiamo creare sara la options 3 e quindi l'indice equivale al risultato di
Codice:
select.options.length
pre quanto riguarda l'altra domanda gli esperti della programmazione ad oggetti potranno essere piu chiari nella spiegazione
cmq si usa l'operatore new per istanziare un oggetto e la option per javascript è un oggetto guarda qui
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Ok,grazie!
Un'ultima cosa, riguardo alla seconda funzione avrei bisogno, una volta selezionata la seconda opzione di aprire il suo contenuto (una tabella) all'interno della pagina per mezzo di un bottone.
Ho già un bottone presente che mi richiama una funzione per eseguire un calcolo di percentuali, vorrei collegarne un'altra.

Per sicurezza posto tutto il codice.
Grazie

Codice:
<html>
<head>
<title>Programma scheda Sportiva</title>
</head>
<style type="text/css">

 .corpo{
 color: black;
 }                       
         

		 
  .bottone{
                font-weight:bold;
                background-color:#00F;
                font-family:Tahoma, Geneva, sans-serif;
                color:#000;
                font-size:14px;
                text-align:justify;
            }
		 
		 
#i1
{
z-index:1;
padding:1em;
line-height: 20pt;
border:1px solid black;
padding-bottom: 1px;
position: absolute;
top: 15px;
left: 20px;
background-color: C0C0C0;
color: black;
}

#Bulgaro
{
z-index:2;
padding:1em;
line-height: 20pt;
display:none;
border:1px solid black;
padding-top: 2px;
padding-bottom: 5px;
position: absolute;
top: 100px;
left: 20px;
background-color: #F0FFFF;
color: black;
}

#Bechcevenov
{
z-index:3;
padding:1em;
line-height: 20pt;
border:1px solid black;
padding-top: 2px;
padding-bottom: 20x;
position: absolute;
top: 270px;
left: 20px;
background-color:#FAEBD7;
color: black;
}

#Harre
{
z-index:4;
padding:1em;
line-height: 20pt;
border:1px solid black;
padding-top: 2px;
padding-bottom: 5px;
position: absolute;
top: 100px;
left: 445px;
background-color: #00BFFF;
color: black;
}

#Massimale
{
z-index:5;
padding:1em;
line-height: 20pt;
border:1px solid black;
padding-top: 2px;
padding-bottom: 5px;
position: absolute;
top: 585px;
left: 20px;
background-color: #F0FFF0;
color: black;
}

#PiramidaleS
{
z-index:6;
padding:1em;
line-height: 20pt;
border:1px solid black;
padding-top: 2px;
padding-bottom: 5px;
position: absolute;
top: 318px;
left: 445px;
background-color: #FFF0F5;
color: black;
}

#PiramidaleL
{
z-index:7;
padding:1em;
line-height: 20pt;
border:1px solid black;
padding-top: 2px;
padding-bottom: 21px;
position: absolute;
top: 318px;
left: 790px;
background-color: #FFF0F5;
color: black;
}



</style>

<script language="javascript">
          			
			function Massimale() {    
                var d,g,f,h,i,l,m,n,o,p,w,y,h1,h2,h3,h4,h5,z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,z14,z15,z16,z17,z18,z19,z20,z21,z22,z23,z24;
                f = 90;
				h = 50;
				i = 60;
				l = 70;
				m = 80;
				n = 30;
				o = 35;
				p = 40;
				g = 100;
				h1 = 92.5;
				h2 = 77.5;
				h3 = 40;
				h4 = 50;
				h5 = 32.5;
				h6 = 95;
				h7 = 85;
				h8 = 75;
				
				/*"Bulgaro"*/
				d = parseInt(document.sommare.d.value);
                w = parseInt(d*f/g);
                document.sommare.w.value = w +"kg";
				d = parseInt(document.sommare.d.value);
				y = parseInt(d*h/g);
                document.sommare.y.value = y +"kg";	
				/*"Bechcevenov"*/
				d = parseInt(document.sommare.d.value);
				z1 = parseInt(d*i/g);
                document.sommare.z1.value = z1 +"kg";
				d = parseInt(document.sommare.d.value);
				z2 = parseInt(d*l/g);
                document.sommare.z2.value = z2 +"kg";
				d = parseInt(document.sommare.d.value);
				z3 = parseInt(d*m/g);
                document.sommare.z3.value = z3 +"kg";
				d = parseInt(document.sommare.d.value);
				z4 = parseInt(d*n/g);
                document.sommare.z4.value = z4 +"kg";
				d = parseInt(document.sommare.d.value);
				z5 = parseInt(d*o/g);
                document.sommare.z5.value = z5 +"kg";
				d = parseInt(document.sommare.d.value);
				z6 = parseInt(d*p/g);
                document.sommare.z6.value = z6 +"kg";
				/*"Harre"*/
				d = parseInt(document.sommare.d.value);
				z7 = parseInt(d*h1/g);
                document.sommare.z7.value = z7 +"kg";
				d = parseInt(document.sommare.d.value);
				z8 = parseInt(d*h2/g);
                document.sommare.z8.value = z8 +"kg";
				d = parseInt(document.sommare.d.value);
				z9 = parseInt(d*h3/g);
                document.sommare.z9.value = z9 +"kg";
				d = parseInt(document.sommare.d.value);
				z10 = parseInt(d*h4/g);
                document.sommare.z10.value = z10 +"kg";
				d = parseInt(document.sommare.d.value);
				z11 = parseInt(d*h5/g);
                document.sommare.z11.value = z11+"kg";
				/*"Forza massima"*/
				d = parseInt(document.sommare.d.value);
				z12 = parseInt(d*f/g);
                document.sommare.z12.value = z12+"kg";
				/*"Piramidale Stretto"*/
				d = parseInt(document.sommare.d.value);
				z13 = parseInt(d*h6/g);
                document.sommare.z13.value = z13+"kg";
				d = parseInt(document.sommare.d.value);
				z14 = parseInt(d*f/g);
                document.sommare.z14.value = z14 +"kg";
				d = parseInt(document.sommare.d.value);
				z15 = parseInt(d*h7/g);
                document.sommare.z15.value = z15 +"kg";
				d = parseInt(document.sommare.d.value);
				z16 = parseInt(d*m/g);
                document.sommare.z16.value = z16 +"kg";
				d = parseInt(document.sommare.d.value);
				z17 = parseInt(d*h8/g);
                document.sommare.z17.value = z17 +"kg";
				d = parseInt(document.sommare.d.value);
				z18 = parseInt(d*l/g);
                document.sommare.z18.value = z18 +"kg";
				/*"Piramidale Largo"*/
				d = parseInt(document.sommare.d.value);
				z19 = parseInt(d*l/g);
                document.sommare.z19.value = z19+"kg";
				d = parseInt(document.sommare.d.value);
				z20 = parseInt(d*h8/g);
                document.sommare.z20.value = z20 +"kg";
				d = parseInt(document.sommare.d.value);
				z21 = parseInt(d*m/g);
                document.sommare.z21.value = z21 +"kg";
				d = parseInt(document.sommare.d.value);
				z22 = parseInt(d*h7/g);
                document.sommare.z22.value = z22 +"kg";
				d = parseInt(document.sommare.d.value);
				z23 = parseInt(d*f/g);
                document.sommare.z23.value = z23 +"kg";
				d = parseInt(document.sommare.d.value);
				z24 = parseInt(d*h6/g);
                document.sommare.z24.value = z24 +"kg";				
			}
			
				
function aggiornaOpzioni(scelta){
        var select = document.getElementById("metodall");
        var scelte = new Array();
        switch(scelta) {
            case '1':                
                scelte[0] = "Test di Harre";
                scelte[1] = "Metodo Bulgaro";
                scelte[2] = "Variante di Bechcevenov";
                scelte[3] = "Metodo Massimale";
                scelte[4] = "Metodo Piramidale";          
                break;
            case '2':                
                scelte[0] = "Sistema di set multiplo";
                scelte[1] = "LIGHT TO HEAVY SYSTEM";
                scelte[2] = "HEAVY TO LIGHT SYSTEM";
                scelte[3] = "SCARICO PROGRESSIVO";          
                break;
            default:
                    
                break;
        }         
           
        select.options.length = 1;

        for(var i=0; i<scelte.length; i++) {                
            select.options[select.options.length] = new Option(scelte[i],scelte[i]);        
        }        
    }
		
</script>
<body>

<div id="PiramidaleS">
<form method="post" name="sommare">
<table border="1">
    <tr>
       PIRAMIDALE STRETTO
   </tr>
    <tr>
      <td><label class="MASSIMALE">%DEL MAX</label></td>
      <td>RIPETIZIONI</td>
      <td>RECUPERO</td> 
	  </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z13"></td>
   <td>1</td>
   <td>1-2'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z14"></td>
   <td>2</td>
   <td>1-2'</td>
   </tr>
   <tr>
   <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z15"></td>
   <td>3</td>
   <td>1-2'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z16"></td>
   <td>4</td>
   <td>1-2'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z17"></td>
   <td>5</td>
   <td>1-2'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z18"></td>
   <td>6</td>
   <td>1-2'</td>
   </tr>
   </table>
</div>

<div id="PiramidaleL">
<form method="post" name="sommare">
<table border="1">
    <tr>
       PIRAMIDALE LARGO
   </tr>
    <tr>
      <td><label class="MASSIMALE">%DEL MAX</label></td>
      <td>RIPETIZIONI</td>
      <td>RECUPERO</td> 
	  </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z19"></td>
   <td>6</td>
   <td>1-3'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z20"></td>
   <td>5</td>
   <td>1-3'</td>
   </tr>
   <tr>
   <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z21"></td>
   <td>4</td>
   <td>1-3'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z22"></td>
   <td>3</td>
   <td>1-3'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z23"></td>
   <td>2</td>
   <td>1-3'</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z24"></td>
   <td>1</td>
   <td>1-3'</td>
   </tr>
   </table>
</div>

<div id="Massimale">
<form method="post" name="sommare">
<table border="1">
    <tr>
       METODO MASSIMALE
   </tr>
    <tr>
      <td><label class="MASSIMALE">%DEL MAX</label></td>
      <td>SERIE</td>
      <td>RIPETIZIONI</td>
      <td>VELOCITA'</td>  
	  <td>RECUPERO</td> 
	  <td>ALLENAMENTI A SETT.</td> 
   </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z12"></td>
   <td>6-12</td>
   <td>A ESAURIMENTO</td>
   <td>CONTROLLATO</td>
   <td>2,5-3'</td>
   <td>3-4</td>
   </tr>
   <tr>
</table>
</div>

<div id="Bulgaro">
<form method="post" name="sommare">
<table border="1">
    <tr>
       METODO BULGARO
   </tr>
    <tr>
      <td><label class="Bulgaro">%DEL MAX</label></td>
      <td>RIPETIZIONI</td>
      <td>SERIE</td>
      <td>VELOCITA'</td>  
   </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="w"></td>
   <td>1-4</td>
   <td>1</td>
   <td>MODERATA</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="y"></td>
   <td>4-8</td>
   <td>1</td>
   <td>MASSIMA</td>
   </tr>
</table>
</div>

<div id="Bechcevenov">
<form method="post" name="sommare">
<table border="1">
    <tr>
       VARIANTE DI BECHCEVENOV
   </tr>
    <tr>
      <td><label class="Bechcevenov">%DEL MAX</label></td>
      <td>RIPETIZIONI</td>
      <td>SERIE</td>
      <td>VELOCITA'</td>  
   </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z1"></td>
   <td>10-14</td>
   <td>1</td>
   <td>MODERATA</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z2"></td>
   <td>6-9</td>
   <td>1</td>
   <td>LENTA</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z3"></td>
   <td>4-7</td>
   <td>1</td>
   <td>LENTA</td>
   </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z4"></td>
   <td>6-10</td>
   <td>1</td>
   <td>MASSIMA</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z5"></td>
   <td>6-8</td>
   <td>1</td>
   <td>MASSIMA</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z6"></td>
   <td>4-6</td>
   <td>1</td>
   <td>MASSIMA</td>
   </tr>
</table>
</div>

<div id="Harre">
<form method="post" name="sommare">
<table border="1">
    <tr>
       TEST DI HARRE
   </tr>
    <tr>
      <td><label class="HARRE">%1 RM</label></td>
      <td>RIPETIZIONI</td>
      <td>VELOCITA'</td>
      <td>RECUPERO</td>  
      <td>SPECIFICITA'</td>    
   </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z7"></td>
   <td>1-5</td>
   <td>BASSA</td>
   <td>3-5'</td>
   <td>FORZA MASSIMALE</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z8"></td>
   <td>5-10</td>
   <td>BASSA</td>
   <td>2-4'</td>
    <td>FORZA MAX IPERTROFIA</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z9"></td>
   <td>6-10</td>
   <td>MASSIMA</td>
   <td>4-6'</td>
    <td>FORZA VELOCE</td>
   </tr>
     <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z10"></td>
   <td>20-30</td>
   <td>BASSA</td>
   <td>35-40''</td>
    <td>FORZA RESISTENTE</td>
   </tr>
   <tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z11"></td>
   <td>25-30</td>
   <td>MODERATA</td>
   <td>OTTIMALE</td>
    <td>FORZA RESISTENTE</td>
   </tr>
   </table>
</div>




<div id="i1">
<form name="som">
SESSO
<select>
<option selected></option>
<option>Maschio</option>
<option>Femmina</option>
</select>

ETA'
<select>
<option selected></option>
<option>18-29</option>
<option>30-59</option>
<option>60-74</option>
<option>74</option>
</select>

<tr><td><label class="i1">PESO</label></td>
<td><input type="text" size="5" class="corpo" id="b"></td></tr>


ALTEZZA
<input type="text" size="5" name="search string">

<tr><td><label class="i1">MASSIMALE</label></td>
<td><input type="text" size="5" class="corpo" id="d"></td></tr>

SCEGLI MUSCOLI
<select>
<option selected></option>
<option>Pettorali</option>
<option>Bicipiti</option>
<option>Dorsali</option>
<option>Addominali</option>
<option>Tutti</option>
</select>
<br>
SCEGLI OBBIETTIVO
<select name="obbiet" size ="1" onchange="aggiornaOpzioni(this.options[this.selectedIndex].value);">
<option selected></option>
<option value="1">Forza</option>
<option value="2">Massa</option>
</select>
SCEGLI METODO ALLENAMENTO
<select id="metodall" name="metodall"  size ="1">
<option selected></option>
</select>
</form> 
<tr><td><input type="button" onClick="Massimale()" class="bottone" value="CALCOLA"></td></tr>
</div>

</body>
</html>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
puoi provare in questo modo:
richiami due funzioni al click
Codice:
.. onclick="Massimale();mostraTabella();" .....
ti crei una funzione che stampèa la tabella
Codice:
function mostraTabella() {
        document.getElementById("div_tabella").innerHTML = " .... contenuto della tabella ..... ";
}
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Grazie della risposta.
Non ho capito una cosa
function mostraTabella() {
document.getElementById("div_tabella").innerHTML = " .... contenuto della tabella ..... ";

Riguardo a contenuto della tabella cosa intendi?
Forse anch'io mi sono spiegato male...il contenuto che vorrei visualizzare è l'intera tabella tipo questa:
Codice:
<div id="Light">
<form method="post" name="sommare">
<table border="1">
    <tr>
       LIGHT TO HEAVY
   </tr>
    <tr>
      <td><label class="Light">%1 RM</label></td>
      <td>RIPETIZIONI</td>
      <td>SERIE</td>
      </tr>
<tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z12"></td>
<td>10</td>
<td>1</td>
</tr>

<tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z13"></td>
<td>10</td>
<td>1</td>
</tr>

<tr>
<td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z14"></td>
<td>10</td>
<td>1</td>
</tr>
  </table>
</div>
Sull' "id non ci sono problemi ma per il resto quali parametri dovrei inserire?Forse una cosa tipo:

Codice:
document.getElementById("Harre").innerHTML =document.getElementById("Harre").style.display="none";


Un'altra cosa:nel livello del CSS devo settare "display:none" per far apparire la tabella quando clicco sul pulsante?

Grazie ancora
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
si puo andare
visto che hai racchiuso la tabella nel div con id light puoi agire direttamente sul div
CSS
Codice:
div#light {
   display:none;
}
JS
Codice:
document.getElementById("light").style.display="inline";
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Allora:
con
Codice:
div#light {
   display:none;
}

e la funzione

Codice:
function mostraTabella() {
document.getElementById("light").style.display="inline";
}

non riesco piu a visualizzare la tabella.
Comunque credo che siamo quasi arrivati alla soluzione:
il problemino che avevo in piu era che il criterio di visualizzazione delle tabelle presenti nel codice dipendeva dalla scelta che veniva fatta in una select.
Se non ho capito male quindi il codice che mi stabilisce quale tabella far vedere in base alla scelta fatta nella select dovrei inserirlo in questa funzione(da te suggerita):

Codice:
function aggiornaOpzioni(scelta){
        var select = document.getElementById("metodall");
        var scelte = new Array();
        var seleziona;
		switch(scelta) {
            case '1':                
                scelte[0] = "Test di Harre";
                scelte[1] = "Metodo Bulgaro";
           
                break;
            case '2':                
                scelte[0] = "LIGHT TO HEAVY SYSTEM";
                scelte[1] = "HEAVY TO LIGHT SYSTEM";
                
                break;
            default:
                    
                break;
        }         
        // azzero le option            
        select.options.length = 1;
        // creo le option in base agli elementi degli array
        for(var i=0; i<scelte.length; i++) 
		{select.options[select.options.length] = new Option(scelte[i],scelte[i]);
		}

Quindi una cosa tipo (naturlamente ho provato ma non funziona)
Codice:
document.getElementById(select.options.length).style.display = "block";

Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
se la tabella si deve aprire in base alla scelta della seconda select devi richiamare la funzione cosi
PHP:
<select name= "metodall"  size ="1" onchange='mostraTabella()'>
                    <option selected></option>
                </select>
ho scritto light invece che Light forse il probelema è quello
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Codice:
<select name= "metodall"  size ="1" onchange='mostraTabella()'>
                    <option selected></option>
                </select>
Ok con questo codice una volta che ho selezionato la tabella "light" dal menu a tendina,si visualizza.
Quello che volevo io però era selezionare la tabella e successivamente al click sul buttone, visualizzarla..

Codice:
<input type="button" onClick="Massimale()";"mostraTabella()"; class="bottone" value="CALCOLA">
 </table>
</div>
Ho provato a inserire la funzione nel bottone ma non appare (sia togliendo o lasciando la funzione"onchange=mostraTabella()" nella select).
Dove sbaglio?

Grazie
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Ricapitolando

Una volta selezionata una voce dalla seconda select,

Codice:
function aggiornaOpzioni(scelta){
        var select = document.getElementById("metodall");
        var scelte = new Array();
        switch(scelta) {
            case '1':                
                scelte[0] = "Test di Harre";
                scelte[1] = "Metodo Bulgaro";
           
                break;
            case '2':                
                scelte[0] = "LIGHT TO HEAVY SYSTEM";
                scelte[1] = "HEAVY TO LIGHT SYSTEM";
                
                break;
            default:
                    
                break;
        }         
        // azzero le option            
        select.options.length = 1;
        // creo le option in base agli elementi degli array
        for(var i=0; i<scelte.length; i++) {                
            select.options[select.options.length] = new Option(scelte[i],scelte[i]);        
		   }
Con un tasto button vorrei aprire la tabella riferita alla voce selzionata.

In pratica devo trovare il modo di associare all'array l'id relativo della tabella e sinceramente non ho ancora capito come fare..
Tralasciando per un attimo il problema relativo all'apertura tramite il tasto Button,ho provato ad aggiungere del codice alla funzione di cui sopra per vedere di associare all'array l'id della tabella ma appare solo la tabella relativa a scelta[0]:
Codice:
		   if (scelte[""] == scelte[0])
		   document.getElementById("Harre").style.display="inline";
           else
		   if (scelte[""] == scelte[1])
		   document.getElementById("Bulgaro").style.display="inline";

Sembrerebbe semplice,ma annaspo di brutto..
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Le sto provando tutte ma purtroppo ancora niente..C'è qualcuno che mi può aiutare?

Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
la condizione dovrebbe essere cosi
Codice:
 if (scelta == "Test di Harre")
     document.getElementById("Harre").style.display="inline";
 
Discussioni simili
Autore Titolo Forum Risposte Data
V problema con funzioni annidate Javascript 2
S Problema con le funzioni PHP 6
M Problema con le funzioni in php-gtk PHP 0
A Problema con le funzioni PHP 4
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18
grgfede Problema javascript con aruba Javascript 1
M Problema con visibility e radio button Javascript 2
Marti1! Problema con casella mail cancellata Posta Elettronica 3
L [PHP] Problema con Telegram PHP 1
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
S Strano problema con i title su Google SEO e Posizionamento 3
P [ASP.Net] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font ASP.NET 4
P [HTML] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font HTML e CSS 1
N [Apache] problema con estensione php Apache 0
C [PHP] Problema con download file PHP 0
M [PHP] Problema con preg_match PHP 1

Discussioni simili