Newsgroup: it.comp.lang.javascript
Titolo: richiesta di aiuto per questionario

Salve a tutti!
Vi sottopongo il mio problema:
vorrei sviluppare la versione in html con javascript di un
questionario (non un quiz) che ho già creato in excel (e quello per
mera una passeggiata!).
Spiego brevemente come è strutturrato e come vorrei realizzarlo:
- sono più di 100 domande con risposta si/no
- le domande comprendono una serie di gruppi di risposta (es. dalla 1
alla 15 mi danno il punteggio per la caratteristica A, dalla 16 alla
22 il punteggio per la caratteristica B, etc)
- il punteggio per ogni caratteristica va confrontato con un punteggio
di riferimento (es. per la caratterstica A il punteggio è 6) e devo
verificare se viene superato oppure no
- infine dovrei avere un elenco di risposte con una certa
caratteristica evidenziata (es dovrei avere l'elenco delle domande a
cui è stato risposto si).
Detto questo, spiego come pensavo di comportarmi:
- la pagina in html con la griglia a 3 colonne contenenti numero
progressivo della domanda, le domande e i radio button per si/no l'ho
già fatta (e fin qui sono ancora in grado)
- ho nominato il form contenete quanto sopra (la griglia insomma) e
definito la variabile per ogni domanda 
- inserito uno script che realizza: l'inizalizzazione e la verifica
che siano state date tutte le risposte con finestra di alert nel caso
non siano state date tutte
- a questo punto mi sono bloccato nel momento in cui devo realizzare
il resto. Pensavo di creare l'aertura di una nuova pagina, nel momento
in cui sono state date tutte le risposte, che contenesse l'elenco
delle caratteristiche che mi interessano ed a fianco sia il punteggio
somma delle risposte corrispondenti e l'indicazione del superamento o
meno del valore soglia (come spiegavo sopra). Inoltre dovrei almeno
avere l'elenco (numerico) delle domande positive (non la domanda per
esteso) per poter stampare la pagina con questi risultati.
Spero di essere stato chiaro e ringrazio tutti coloro che volessero
aiutarmi.

 Salve a tutti!
[CUT]
Fai un questionario e non ti registri i risultati?
Se uno si legge il sorgente leggerà le risposte corrette per avere il
punteggio più alto?
Queste cose solitamente si fanno appoggiandosi a una tecnologia
server-side...
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

server-side...
So che sarebbe utile cose tipo l'asp o il phop, ma va al di là di ogni
mia possibilità ed esigenza. Come dicevo in excel è fatto e me la cavo
bene, questa sarebbe soprattutto una mia curiosità. Se però fosse
possibile realizzarla in qualche modo, ben venga.....

 possibile realizzarla in qualche modo, ben venga.....
Sì, è fattibile (fino alla registrazione, poi devi per forza passare lato
server), ma sinceramente non so come iniziare ad aiutarti...Non stai
chiedendo un aiuto, stai chiedendo una applicazione completa!
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

Effettivamente hai ragione!
Cominciamo così: al momento riesco ad ottenere il messaggio di non
completamento del questionario modificando uno script trovato in rete,
quello che non riesco ancora  a fare è il messaggio di questionario
completato che mi dovrebbe poi permettere l'accesso ad un'altra pagina
dove inserire i risultati. Posto il codice che ho a disposizione ora e
chiedo l'aiuto a farlo funzionare
<SCRIPT>
<!--
QuanteDomande=119;
QuanteRisposte=119;
function Comincia()
	{
	Inizializza(false);
	document.risposte.totale.value="";
	}
function Complimenti()
	{
finestra=window.open('','finestranota','width=200,height=100,location=no,menubar=yes,scrollbars=no,resizable=no')
	 with(finestra.document)
	  {
	  open();
	  writeln("<HTML><HEAD><TITLE>Complimenti</TITLE>");
	  writeln("<SCRIPT>");
	  writeln("function chiudi(){this.close()}");
	  writeln("</SCRIPT>");
	  writeln("</HEAD><BODY BGCOLOR='#002E8C' TEXT='#FFFFFF'
LINK='#99FFFF' VLINK='#99FFFF' ALINK='#99FFFF' TOPMARGIN='0'
LEFTMARGIN='0' MARGINHEIGHT='0' MARGINWIDTH='0'>");
	  writeln("<TABLE BORDER=0 CELLPADDING=5 cellspacing=5
WIDTH=100% HEIGHT=100%><TR><TD ALIGN=center VALIGN=middle><FONT
FACE='verdana, arial, helvetica' SIZE='-1' COLOR='#FFFFF'>");
	  writeln("Complimenti! <BR> <BR>Test Risolto!!");
	  writeln("</TD></TR><TR><TD ALIGN=right VALIGN=bottom><FONT
FACE='verdana, arial, helvetica' SIZE='-2'><A
HREF=javascript:chiudi()>Chiudi</A>");
	  writeln("</TD></TR></TABLE></BODY></HTML>");
	  close();
	  }
	}
var domande = new Array();
function Inizializza(ie3orless)
	{
	if (parseInt(navigator.appVersion) > 3)
		{
		for (i=0;i<QuanteDomande;i++){domande[i]=0}
		for (j=0;j<QuanteDomande;j++){for
(i=0;i<QuanteRisposte;i++){document.test["q"+j][i].checked=false}}
		}
		else if(ie3orless) {alert('Stai usanto Internet
Explorer 3.\nI risposte non possono essere cancellati.\n\n Ricontrolla
attentamente le risposte.')}
	}
function aggiorna(quale)
	{
	domande[quale]=1;
	}
function ControllaTest()
	{
	var risposte=0;
	var riempito=true;
	for (i=0;i<QuanteDomande;i++)
		{(domande[i]==0)?riempito=false:null}
	if (riempito)
		{
		for (j=0;j<QuanteDomande;j++){for
(i=0;i<QuanteRisposte;i++){if (document.test["q"+j][i].checked)
{risposte+=parseInt(document.test["q"+j][i].value)}}}
		if
(risposte==QuanteDomande){Complimenti();document.risposte.totale.value=risposte}
		else if (confirm('Hai completato il
questionario')){Inizializza(true)}
else{document.risposte.totale.value=risposte;}
		}
	else alert('Questionario incompleto.\nLa preghiamo di
rispondere a TUTTE le domande.')
	}
//-->
</SCRIPT>
