LupinIII_dm Mortale devoto

Registrato: 12/02/08 14:40 Messaggi: 5
|
Inviato: 12 Mar 2008 14:41 Oggetto: Aiuto jsp!!! |
|
|
Ciao ragazzi,
ho un problema enorme...aiutatemi!
Ho un menù su un pagina jsp il cui numero di elementi varia a seconda di quanti elementi vengono inseriti nel database. Ogni elemento costituisce una tabella nel db e i campi di questa tabella vengono riempiti dai parametri che catturo dagli input che compaiono nella tabella che appare quando si clicca su di un elemento del menù. Vi posto il mio codice:
Codice: | <form name="nuovaIstanza" id="istanza" action='<portlet:actionURL><portlet:param name="action" value="nuovaIstanza"/></portlet:actionURL>' method="post" enctype="multipart/form-data">
<div align="center"> </div>
<table width="779" height="583">
<tbody>
<tr><td width="641">
<div class="visualizza">
<%
DatabaseManager db = new DatabaseManager();
db.connect();
//CONTROLLO ESISTENZA DI ALMENO UNA RISORSA
String sqlExt = "SELECT COUNT(*) as sum FROM tipo_risorsa";
ResultSet ext = db.executeQuery2(sqlExt);
ext.next();
String ext_c = ext.getString("sum");
if(ext_c.equals("0")){
%>
<h1 align="center"><font size="4" style="font-weight: normal;">Non è presente alcun tipo di risorsa.<br><br>
Per aggiungere un nuovo tipo di risorsa scegliere da leftbar<em> Inserisci nuovo tipo risorsa<br><br> o</em></font>
<font size="4"><a href='<portlet:actionURL><portlet:param name="action" value="linkTipo"/></portlet:actionURL>' style="font-weight: normal;">cliccare qui</a></font>
</h1>
<%
}
else
if(!ext_c.equals("0"))
{
%>
<h4 align="center"><font size="2" face="Eras Medium ITC">SELEZIONARE IL TIPO DI RISORSA IN CUI INSERIRE LA NUOVA ISTANZA </font><br></h4>
<h3 style="font-weight: normal;"><br> </h3>
<h3 style="font-weight: normal;"><font face="Eras Medium ITC"><u><strong>RISORSE DISPONIBILI</strong></u></font></h3><br>
<input type="hidden" name="tiporisorsa" id="tipo">
<input type="hidden" name="ide" id="id">
<input type="hidden" name="numRis" id="count">
<ul>
<%
String sqlRisorsa = "SELECT id_tipo_risorsa , nome FROM tipo_risorsa";
ResultSet rsTipo = db.executeQuery(sqlRisorsa);
String tipo[] = new String[100];
String id_tipo[] = new String[100];
int i = 0;
while (rsTipo.next()){
tipo[i] = rsTipo.getString("nome");
id_tipo[i] = rsTipo.getString("id_tipo_risorsa");
i++;
}
for(int j=0; j<i; j++)
{
tipo[j] = TransformerString.gestioneApostrofoPerNomiTabelle(tipo[j]);
String sqlNumero = "SELECT COUNT(*) FROM "+ tipo[j];
ResultSet rs_num = db.executeQuery(sqlNumero);
rs_num.next();
%>
<li>
<font size="3" face="Eras Medium ITC"><a name="risorseN" href="javascript:mmenu('submenu-1-<%=(j+1)%>'); javascript:toggleLock() " onClick="document.getElementById('count').value='<%=ext_c%>'; document.getElementById('tipo').value='<%=tipo[j]%>'; document.getElementById('id').value='<%=id_tipo[j]%>'; hide(); hide_list()" title="Sono presenti <%=rs_num.getInt("COUNT(*)") %> istanze"><%=TransformerString.reverseGestioneApostrofoPerNomiTabelle(tipo[j])%></a></font>
<ul class="submenu" id="submenu-1-<%=(j+1)%>" >
<%
String sqlAttributi = "SELECT at.nome FROM attributo AS at INNER JOIN ((SELECT id_attributo FROM tipo_risorsa AS tr INNER JOIN ha as ha WHERE ha.id_tipo_risorsa=tr.id_tipo_risorsa AND tr.nome='"+ tipo[j] + "') AS res) WHERE res.id_attributo=at.id_attributo";
ResultSet rsAtt = db.executeQuery(sqlAttributi);
%>
<br>
<table class="tabellaIstanza" id="c_<%=id_tipo[j]%>" style="visibility:visible" >
<tbody>
<tr>
<td><font face="Arial" size="2">Nome*</font></td><td width="100"><input type="text" id="id1_<%=id_tipo[j]%>" name="<%=id_tipo[j]%>_nomeIstanza"></td>
</tr>
<tr>
<td><font face="Arial" size="2">Descrizione*</font></td><td width="100"><input type="text" id="id2_<%=id_tipo[j]%>" name="<%=id_tipo[j]%>_descrizioneIstanza"></td>
</tr>
<tr class="bordered" >
<td><img border="0" src="/html/portlet/ext/images/gps.jpg" width="190" height="142"></td>
<td align="center">
INFO GPS
<br><br>
Latitudine<input type="text" id="idX_<%=id_tipo[j]%>" name="<%=id_tipo[j]%>_LatitudineIstanza">
Longitudine<input type="text" id="idY_<%=id_tipo[j]%>" name="<%=id_tipo[j]%>_LongitudineIstanza">
</td>
</tr>
<%
while (rsAtt.next()){
%>
<tr>
<td><font size="2" face="Arial"><%=rsAtt.getString("nome")%></font><br></td>
<td ><input type="text" name="<%=id_tipo[j]%>_<%=rsAtt.getString("nome")%>" value="0"></td>
</tr>
<%
}
%>
</tbody>
</table>
<br>
</ul>
</li>
<%
}
%>
</ul>
</div>
</td></tr>
</tbody>
<tfoot>
<%
db.closeConnection();
%>
</tfoot>
</table>
<input id="br" type="file" name="sfoglia" style="visibility:hidden">
<br>
<font face="Arial" size="2">Il tipo di risorsa non esiste? Creane una nuova,</font>
<a href='<portlet:actionURL> <portlet:param name="action" value="linkTipo"/> </portlet:actionURL>'><font size="2" face="Arial">clicca qui</font></a><br>
<br><br><br>
<font size="1"><u>Nota</u>: I campi con * sono obbligatori</font><br>
<br>
<input type="button" id="agg" value="Aggiungi Istanza" onClick="esiste(); controlloId(); " >
<%
}
%>
</form> |
Ora il problema è questo: se clicco sul nome di un elemento del menù, mi si apre la tabella corrispondente. Fin qui tutto ok!Ora se clicco su di un altro elemento mi si apre la sua tabella corrispondente!!! Non dovrebbe invece aprirsi fino a quando non inserisco i dati e li accetto dal form, e quindi ricarico la pagina. Il problema è quindi come poter disabilitare gli elementi che non sono stati cliccati durante il riempimento del form.
Ho cercato di fare una funzione hide_list() ma non c'è stato verso che funzionasse! Aiuto, o menti eccelse! |
|