• Home
  • Forum
  • Fare Web
  • Javascript

Problema con 2 funzioni:array,select dinamica

  • Creatore Discussione Creatore Discussione syrmos
  • Data di inizio Data di inizio 13 Feb 2013
  • 1
  • 2
Succ.
1 di 2 Succ. Ultimo
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 13 Feb 2013
  • #1
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.606
54
48
TN
  • 13 Feb 2013
  • #2
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
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 15 Feb 2013
  • #3
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
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 17 Feb 2013
  • #4
Attendo risposta
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 17 Feb 2013
  • #5
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
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 18 Feb 2013
  • #6
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>
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 19 Feb 2013
  • #7
Consigli
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 20 Feb 2013
  • #8
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 ..... ";
}
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 21 Feb 2013
  • #9
Grazie della risposta.
Non ho capito una cosa
function mostraTabella() {
document.getElementById("div_tabella").innerHTML = " .... contenuto della tabella ..... ";
Clicca per allargare...

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.606
54
48
TN
  • 21 Feb 2013
  • #10
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";
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 21 Feb 2013
  • #11
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.606
54
48
TN
  • 21 Feb 2013
  • #12
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
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 21 Feb 2013
  • #13
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
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 22 Feb 2013
  • #14
Up.............
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 22 Feb 2013
  • #15
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..
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 25 Feb 2013
  • #16
up
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 26 Feb 2013
  • #17
Nessuno mi sa dire come far funzionare l'ultimo codice postato?

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 26 Feb 2013
  • #18
ciao
non uppare, gli utenti sono tanti e chi può rispondere può avere altro da fare.
un po' di pazienza
 
S

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
  • 18 Mar 2013
  • #19
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.606
54
48
TN
  • 18 Mar 2013
  • #20
la condizione dovrebbe essere cosi
Codice:
 if (scelta == "Test di Harre")
     document.getElementById("Harre").style.display="inline";
 
  • 1
  • 2
Succ.
1 di 2 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

V
problema con funzioni annidate
  • valerio matrix
  • 24 Mar 2016
  • Javascript
Risposte
2
Visite
2K
Javascript 24 Mar 2016
valerio matrix
V
S
Problema con le funzioni
  • Salvo Salvi
  • 18 Lug 2013
  • PHP
Risposte
6
Visite
1K
PHP 18 Lug 2013
borgo italia
M
Problema con le funzioni in php-gtk
  • merka
  • 5 Gen 2010
  • PHP
Risposte
0
Visite
1K
PHP 5 Gen 2010
merka
M
A
Problema con le funzioni
  • antolot
  • 22 Nov 2007
  • PHP
Risposte
4
Visite
1K
PHP 27 Nov 2007
antolot
A
Problema in Shopify con Pixel Facebook
  • voldemort
  • 27 Mag 2024
  • E-Commerce
Risposte
1
Visite
2K
E-Commerce 27 Mag 2024
m.pittini
M
O
problema con dvr dahua xvr5116
  • oky74
  • 11 Mar 2023
  • IP Cam e Videosorveglianza
Risposte
0
Visite
2K
IP Cam e Videosorveglianza 11 Mar 2023
oky74
O
G
Problema con Xampp
  • GreatOtaku
  • 5 Mar 2023
  • Web Server
Risposte
1
Visite
1K
Web Server 6 Mar 2023
GreatOtaku
G
Problema con miniature comandi
  • andrea barletta
  • 27 Feb 2023
  • Photoshop
Risposte
0
Visite
1K
Photoshop 27 Feb 2023
andrea barletta
I
problema con alice
  • ilprincipiante
  • 10 Feb 2023
  • Posta Elettronica
Risposte
0
Visite
1K
Posta Elettronica 10 Feb 2023
ilprincipiante
I
N
Problema con position absolute e overflow
  • Nocciolina
  • 23 Gen 2023
  • HTML e CSS
Risposte
4
Visite
1K
HTML e CSS 31 Gen 2023
Nocciolina
N
L
Problema con inner join
  • lupentino
  • 23 Nov 2022
  • PHP
Risposte
11
Visite
2K
PHP 27 Nov 2022
marino51
K
[php] Problema con inner join
  • Kiko74b
  • 22 Nov 2022
  • PHP
Risposte
4
Visite
2K
PHP 23 Nov 2022
Kiko74b
K
K
[PHP] Problema con variabili concatenate.
  • Kiko74b
  • 17 Ott 2022
  • PHP
Risposte
1
Visite
1K
PHP 30 Ott 2022
thanatos
T
O
  • Bloccata
problema con query
  • Odino7009
  • 23 Mag 2022
  • PHP
Risposte
4
Visite
2K
PHP 24 Mag 2022
Odino7009
O
I
problema con 2 account
  • ilprincipiante
  • 11 Mar 2022
  • Posta Elettronica
Risposte
1
Visite
2K
Posta Elettronica 11 Mar 2022
WmbertSea
L
problema collegamento file css con html
  • leonardo20
  • 2 Mar 2022
  • HTML e CSS
Risposte
1
Visite
2K
HTML e CSS 3 Ott 2023
WEBLEADERS
W
E
Problema accesso a file con app sviluppata con MIT APP INVENTOR 2
  • emanuelespinelli
  • 22 Dic 2021
  • Sviluppo app per Android
Risposte
0
Visite
3K
Sviluppo app per Android 22 Dic 2021
emanuelespinelli
E
M
Problema con Try Catch
  • migo80
  • 10 Ott 2021
  • PHP
Risposte
0
Visite
2K
PHP 10 Ott 2021
migo80
M
Problema con gli eventi del mouse su una data table:
  • Sergio Unia
  • 7 Ago 2021
  • Javascript
Risposte
2
Visite
2K
Javascript 7 Ago 2021
Sergio Unia
T
PROBLEMA CON SESSIONI
  • thanatos
  • 13 Lug 2021
  • PHP
Risposte
3
Visite
2K
PHP 14 Lug 2021
thanatos
T
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • Javascript
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?