Salve,
è possibile nascondere un campo o una serie di campi che non si rendono utili? E renderli dinuovo visibili? In tutto chiaramente in base alle scelte fatte.
Grazie.
Salve,
è possibile nascondere un campo o una serie di campi che non si rendono utili? E renderli dinuovo visibili? In tutto chiaramente in base alle scelte fatte.
Grazie.
Si che si può: i campi vanno nascosti inserendoli in un div di cui fai variare la proprietà .....style.visibility sulla base della reazione ad un gestore eventi.![]()
OK grazie.
Ho provato così, ma non funziona:
La scelta è attuata attraverso dei radio, sui quali all'evento onclick richiamo il javascript:codice:<script type="text/javascript"> <!-- function comando() { var d = document.forms["dati"]; var selezione = d.operazione; if (selezione.value == "onlytable"){ document.getElementById('t').style.visibility = 'hidden'; document.getElementById('nt').style.visibility = 'visible'; } if (selezione.value == "tablepages"){ document.getElementById('t').style.visibility = 'hidden'; document.getElementById('nt').style.visibility = 'visible'; } if (selezione.value == "fields"){ document.getElementById('t').style.visibility = 'visible'; document.getElementById('nt').style.visibility = 'hidden'; } } // --> </script>
I campi sono all'interno di un tag div.codice:<input type="radio" name="operazione" value="onlytable" onselect="javascript:comando()">CREA UNA NUOVA TABELLA...
Come posso risolvere il problema?
Grazie
Metti tutto il codice così proviamo in due? Ciao
Eccolo
codice:<table> <tr> <td align="left" class="dati" colspan="2"> <input type="radio" name="operazione" value="onlytable" onselect="javascript:comando()" checked>CREA UNA NUOVA TABELLA <input type="radio" name="operazione" value="tablepages" onselect="javascript:comando()">CREA UNA NUOVA TABELLA E LE PAGINE PER LA GESTIONE <input type="radio" name="operazione" value="fields" onselect="javascript:comando()">CREA NUOVI CAMPI IN TABELLA ESISTENTE (le modifiche alle pagine di gestione andranno fatte a mano) </td> </tr> <tr> <td class="form">NOME NUOVA TABELLA</td> <td class="dati"><div id="nt"><input type="text" name="nuova_tabella" size="50"> ?</div></td> </tr> <tr> <td class="form">SELEZIONA TABELLA ESISTENTE</td> <td class="dati"><div id="t"><select name="tabella"> <option></option> ... codice asp che richiama tutte le tabelle contenute nel db... </select>?</div></td> </tr>
Al violo due cose:
hai messo il tutto dentro un form?
onclick="javascript:..." è scritto tutto attaccato vero?
Ciao
Certo che è tutto dentro ad un form altrimenti i dati non verrebbero spediti alla pagina successiva
E' il forum che stacca la parole java e script. In realtà nel codice è scritto giusto.
C'erano alcuni errori di concetto: il tuo option (operazione) ha unaproprietà value per ognuno degli indici del suo array. Tu accedevi alla proprietà inesistente dell'oggetto in sé, mentre si deve accedere uno per uno ai suoi valori. Scusa lo spiegone: sto appunto tenendo un corso su javascript per cui il tuo problema sarà oggetto delle esercitazione che faccio alle 18.00 Ciao
<script type="text/javascript" language="JavaScript">
<!--
function comando() {
var selezione = document.forms[0].operazione;
for (i=0; i<selezione.length; i++) {
if (selezione[i].checked) {
if (selezione[i].value == "onlytable"){
//document.getElementById('t').style.visibility = 'hidden';
document.getElementById('nt').style.visibility = 'visible';
}
if (selezione[i].value == "tablepages"){
//document.getElementById('t').style.visibility = 'hidden';
document.getElementById('nt').style.visibility = 'visible';
}
if (selezione[i].value == "fields"){
//document.getElementById('t').style.visibility = 'visible';
document.getElementById('nt').style.visibility = 'visible';
}
}
}
}
// -->
</script>
<FORM>
<table>
<tr>
<td align="left" class="dati" colspan="2">
<input type="radio" id ="operazione" name="operazione" value="onlytable" onclick="javascript:comando();" checked> CREA UNA NUOVA TABELLA
<input type="radio" id ="operazione" name="operazione" value="tablepages" onclick="javascript:comando();"> CREA UNA NUOVA TABELLA E LE PAGINE PER LA GESTIONE
<input type="radio" id ="operazione" name="operazione" value="fields" onclick="javascript:comando();"> CREA NUOVI CAMPI IN TABELLA ESISTENTE (le modifiche alle pagine di gestione andranno fatte a mano)
</td>
</tr>
</table>
<div id="nt" style="visibility:hidden;"><input type="text" name="nuova_tabella" size="50">
</div>
</FORM>![]()
Alla fine ti ho dato lo spunto per l'argomento della lezione![]()
Grazie dell'aiuto e buon lavoro.