Come fare a...
Web
Come fare a...

Come nascondere delle domande in un modulo per inchieste online

Come usare lo script

Pagine: 1 di 1
Autore: La redazione di Come fare a...
Molto spesso capita di voler realizzare del moduli per le inchieste online, in questi moduli, detti anche survey o form, è possibilie che capiti di dover attivare o disattivare delle domande a seconda delle risposte dell'utente. Questo tipo di funzionalità è realizzabile in modo molto semplice senza l'ausilio di database e in un'unica pagina, vediamo in questo articolo come procedere per realizzare questa funzionalità particolare.

Come nascondere le domande

Nella realizzazione dei moduli online, è bene tener presente che, nelle domande dove le risposte devono attivare domande successive, è necessario l'uso di caselle di controllo o di radio bottoni, ossia di quegli elementi del form che necessitano di un clic dell'utente per essere attivati.

Per poter nascondere delle domande è necessario, come prima cosa, che queste siano rinchiuse o in una tabella, o in un DIV, e che venga nascosta con l'apposita opzione dei fogli di stile, in modo da non visualizzare la domanda all'apertura del modulo. Inoltre, è necessario che venga associato un ID univoco all'elemento scelto.
Per evitare di fare errori e bene scriversi tutte le domande su un foglio prima di cominciare e prendere nota degli ID che inseriremo e delle tabelle nascoste, questo rende più semplice compilare lo script, aiutando ad evitare eventuali errori di disattenzione.

La prima riga della tabella o del DIV che contengono la domanda da nascondere deve, quindi, contenere i codici id="elemento1" style="display:none":

Esempio:

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="elemento1" style="display:none">

L'ID utilizzato nell'esempio può, naturalmente, chiamarsi in qualsiasi modo, il suggerimento che possiamo darvi, è quello di utilizzare una parola o anche una sola lettera con associato un numero sequienziale, questo rende più semplice e immediata la lettura dello script.

Lo script di attivazione/disattivazione delle domande

Una volta terminata la realizzazione del form con tutti gli ID e le domande nascoste con gli appositi codici descritti qua sopra, passiamo alla realizzazione dello script che si compone di due semplici parti: una associata alla casella di controllo o nel radio bottone e l'altra nell'head della pagina.
Poniamo che abbiamo una domanda con un opzione A e un opzione B, l'opzione A apre la domanda 2, se invece si fa clic sull'opzione B la domanda 2 resta nascosta.
In questo esempio utilizziamo un radio bottone, ma è lo script è identico anche nel caso di una casella di controllo:

<input type="radio" name="opt_1" value="No" onClick="mod1(elemento1);">
<input type="radio" name="opt_1" value="Si" onClick="mod2(elemento1);">

Come si vede lo script è composto da tre parti: la prima onClick indica che lo script deve attivarsi quando si fa clic sul radio bottone, la seconda, mod1 e mod2 indicano il nome dello script da richiamare nell'head della pagina, infine elemento1 è l'ID che abbiamo utilizzato nella tabella da nascondere.

Nell' head della pagina inviece inseriamo questo script:

<SCRIPT LANGUAGE="JavaScript">
function mod1(a) {
{elemento1.style.display='';} }
function mod2(a) {
{elemento1.style.display='none';} }
</SCRIPT>

Come si vede mod1 e mod2 sono gli script richiamati dai due radio bottoni che abbiamo inserito prima, il primo mostra la domanda il secondo la nasconde. Ovviamente elemento1 è l'ID della tabella o del DIV, gli apostrofi vuoti indicano che l'elemento è visibile, mentre se c'è scritto none è invisibile.
In pratica cosa succede? lo stile associato alla tabella o al DIV viene sovrascritto dallo script rendendola visibile in un caso e invisibile nell'altro.

Conclusione

Per rendere le cose più chiare, vediamo un esempio completo con il codice composto in tutte le sue parti:

<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
function mod1(a) {
{elemento1.style.display='';} }
function mod2(a) {
{elemento1.style.display='none';} }
</SCRIPT>
</head>
<body>
<form>
Ti &egrave; piaciuto questo articolo?<br/>
No <input type="radio" name="opt_1" value="Si" onClick="mod1(elemento1);"><br />
Si <input type="radio" name="opt_1" value="Si" onClick="mod2(elemento1);">
<table id="elemento1" style="display:none">
<tr>
<td>
Vuoi darci un suggerimento?
<input name="opt_2" type="textarea" id="opt_17" value="commento" />
</td>
<tr>
<table>
</form>
</body>
</html>

Adesso non vi resta che sperimentare questo script sui vostri moduli per indagini online.

Resta sempre aggiornato sulle novità del sito Resta sempre aggiornato sulle novità del sito
Per mantenerti sempre aggiornato su nuovi contenuti interessanti, Come fare a... vi offre la possibilità di abbonarvi gratuitamente alla Newsletter Come fare a..., all'RSS o, se usate Windows Live Messenger, di abbonarvi ai nostri Windows Live Alerts. Per gli utenti di Mac OS X è disponibile gratuitamente un Widget che vi terrà sempre informati sulle ultime novità. Vieni a trovarci anche su Facebook e su Twitter.
Scarica l'articolo (104 Kb)
Fine: 1 di 1
Condividi

Vedi anche...

Sempre aggiornato





Abbonati alla newsletter di Come fare a... Sottoscrivi l'RSS di Come fare a... Usi Windows Live Messenger? Abbonati ai nostri Windows Live Alerts Diventa fan di Come fare a... su Facebook Seguici su Twitter Scarica il Widget per Mac OS X