Newsgroup: it.lavoro.professioni.webmaster
Titolo: Abilitazione di menù a discesa con checkbox, coma avrò sbagliato?

Ho un problema.
In un form ho una checklbox alla sinistra di un menù a discesa.
Ho scritto un po' di javascript per far si che se si "flagga" il checkbox si
"abilità" il menù a discesa, altrimenti viene (o resta) disabilitato.
Di seguito il codice (credo di aver fatto casini con l'eval). Preciso che il
form è più lungo e complesso.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd
">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<style type="text/css">
<script language="JavaScript" type="text/JavaScript">
function abilitaDisabilita(tipo, serie){
 if ( eval("document.form1."+tipo+serie+".checked") {
         eval("document.form1."+tipo+serie+".disabled=false;");
 }
 else{
         eval("document.form1."+tipo+serie+".disabled=true;");
 }
}
</script>
</head>
<body><p> </p>
<form name="form1" method="post" action="memorizza.asp">
  <table width="100%"  border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td width="11%">Serie 1</td>
      <td width="9%"><input name="serieAlti1" type="checkbox" value="ok"
checked onClick="abilitaDisabilita('ripetizioniAlti', 1);"></td>
      <td width="19%"><select name="ripetizioniAlti1">
        <option value="0" selected>0</option>
        <option value="5">05</option>
        <option value="10">10</option>
        <option value="15">15</option>
        <option value="20">20</option>
        <option value="25">25</option>
        <option value="30">30</option>
        <option value="35">35</option>
      </select></td>
      <td width="45%">&nbsp;</td>
      <td width="16%">&nbsp;</td>
    </tr>
    <tr>
      <td width="11%">Serie 2</td>
      <td width="9%"><input name="serieAlti2" type="checkbox" value="ok"
checked onClick="abilitaDisabilita('ripetizioniAlti', 2);"></td>
      <td width="19%"><select name="ripetizioniAlti2">
        <option value="0" selected>0</option>
        <option value="5">05</option>
        <option value="10">10</option>
        <option value="15">15</option>
        <option value="20">20</option>
        <option value="25">25</option>
        <option value="30">30</option>
        <option value="35">35</option>
      </select></td>
      <td width="45%">&nbsp;</td>
      <td width="16%">&nbsp;</td>
    </tr>
    <tr>
      <td width="11%">Serie 3</td>
      <td width="9%"><input name="serieAlti3" type="checkbox" value="ok"
checked onClick="abilitaDisabilita('ripetizioniAlti', 3);"></td>
      <td width="19%"><select name="ripetizioniAlti3">
        <option value="0" selected>0</option>
        <option value="5">05</option>
        <option value="10">10</option>
        <option value="15">15</option>
        <option value="20">20</option>
        <option value="25">25</option>
        <option value="30">30</option>
        <option value="35">35</option>
      </select></td>
      <td width="45%">&nbsp;</td>
      <td width="16%">&nbsp;</td>
    </tr>
  </table>
</form>
<p></p>
<p></p>
</body>
</html>

  if ( eval("document.form1."+tipo+serie+".checked") {
Errore banale: manca la parentesi di chiusura IF:  if (
eval("document.form1."+tipo+serie+".checked")) ;-)
Mauro

"Mixboy" <mix...@REMOVEemailHERE.it.disabled> ha scritto nel messaggio
news:u12ge.878822$b5.38...@news3.tin.it...

Grazie, ma non va. SI disabilita e poi non si riabilita più !!! :-((((

 Grazie, ma non va. SI disabilita e poi non si riabilita più !!! :-((((
Non avevo fatto caso che c'è un altro errore sempre nell'IF...
Con if ( eval("document.form1."+tipo+serie+".checked") tu NON controlli le
caselle di selezione dato che tipo è il nome del menù a discesa...
Direi che così funziona:
 if ( eval("document.form1.serieAlti"+serie+".checked")) {
Mauro :-)

Grazie.
"Mixboy" <mix...@REMOVEemailHERE.it.disabled> ha scritto nel messaggio
news:2C3ge.879288$b5.38...@news3.tin.it...


"Mixboy" <mix...@REMOVEemailHERE.it.disabled> ha scritto nel messaggio
news:2C3ge.879288$b5.38...@news3.tin.it...
[CUT]
Ti volevo chiedere un altro consiglio.
Nel DB andrò ad inserire ogni giorno (o cmq quando li farò) il numero di
serie e ripetizioni di alcuni esercizio.
Diaciamo da 1 a 7 serie di addominali alti (ogni serie avrà un certo numero
di ripetizioni) e da 1 a 7 di addominali bassi.
Fin qui tutto ok.
Vorrei poi visualizzare il tutto con uno schema mensile così fatto:
                                                Giorni mese
                    1    2    3    4    5    6    7    8    ............
29    30    31
Alti 1
Alti 2
Alti 3
Alti 4
Alti 5
Alti 6
Alti 7
Bassi 1
Bassi 2
Bassi 3
Bassi 4
Bassi 5
Bassi 6
Bassi 7
Come organizzaresti la tabella?
Ho difficoltà a creare poi in una pagina dinamica questo schema partendo da
una query.

 una query.
Per avere il report mensile basta che effettui una query sul campo data.
Mauro

Se mi autorizzi ti mando via mail tutto il codice.
Te ne sarei davvero grato.
"Mixboy" <mix...@REMOVEemailHERE.it.disabled> ha scritto nel messaggio
news:DJ7ge.880576$b5.38...@news3.tin.it...


"Mixboy" <mix...@REMOVEemailHERE.it.disabled> ha scritto nel messaggio
news:DJ7ge.880576$b5.38...@news3.tin.it...

OK, ecco la query:
strSQLalti  = "SELECT * FROM Tabella WHERE ((09=Month(Tabella.Data)) AND
Tipo='alti') ORDER BY Data"
E poi volendo ottenere una visione tabellare del tipo:
                                                Giorni mese
                    1    2    3    4    5    6    7    8    ............
29    30    31
Alti 1
Alti 2
Alti 3
Alti 4
Alti 5
Alti 6
Alti 7
Ho grossi problemi.
Ecco cosa ho scritto:
     <tr>
        <td>a</td>
     <%
          for i=1 to 31
              response.Write("<td>"&i&"</td>")    ' stampo la prima riga con
31 giorni
          next
         response.write("</tr>")
         for i=1 to 7     ' scorro lungo i sette campi delle serie
              response.Write("<tr>")
              response.Write("<td>"&objRs.Fields.Item(i).Name&"</td>")
'stampo ad inizio riga il nome della serie
              for j=1 to 31    ' scorro lungo i giorni
                   if (day(objRs("data"))=j) then      'se nel giorno j ho
fatto esercizi
response.Write("<td>"&objRs.Fields.Item(1).Value&"</td>") 'metto nella cella
il num. ripet. della serie i
                        objRs.movenext
                   else
                      response.Write("<td>X</td>")  'altrimenti metto una X
                   end if
              next
              response.write("</tr>")
              objRs.movefirst
         next
Non va !!!!!!!!
Mi daresti una mano?

 Te ne sarei davvero grato.
Purtroppo io non conosco l'ASP...