Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    78

    Generare Risposte con input Radio Diverse

    Salve
    mi stavo cimentando con un questionario a risposte multiple con le risposte fisse ma volevo usare un modo in cui queste fossero visualizzate dinamicamente via random ma mi si pongono vari problemi, tipo ogni domanda ovviamente deve avere 1 risposta giusta e tre diverse dalla giusta ma anche diverse tra loro e che non si devono ripetere troppo all'interno del questionario...secondo voi è umanamente possibile?..ho dato diverse occhiate alle discussioni già aperte...ma non sono riuscito a trovare come dipanare la matassa....
    Anzi quello che devo capire io prima è come strutturare il processo....Mi potete aiutare?
    Grazie 1000 x la collaborazione
    Stano.

    Vi allego la bozza del codex quello che ho scopiazzato a dx e sx ...
    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>Test a risposta immediata</title>
    <SCRIPT LANGUAGE="JavaScript">






    <!-- Inizio
    var risp = new Array;
    var rispdata = new Array;
    var punteggio = 0;
    risp[1] = "a";
    risp[2] = "b";
    risp[3] = "c";
    risp[4] = "d";
    risp[5] = "d";
    risp[6] = "c";
    risp[7] = "b";
    risp[8] = "b";
    risp[9] = "c";
    risp[10] = "b";
    function Verifica(domanda, risposta) {
    if (risposta != risp[domanda]) {
    if (!rispdata[domanda]) {
    rispdata[domanda] = -1;
    alert("Purtroppo la risposta è errata:\n\nil punteggio rimane " + punteggio);
    }
    else {
    alert("E' già stata fornita una risposta a questo item!");
    }
    }
    else {
    if (!rispdata[domanda]) {
    rispdata[domanda] = -1;
    punteggio++;
    alert("Esatto!\n\nIl punteggio sale a " + punteggio);
    }
    else {
    alert("E' già stata fornita una risposta a questo item!");
    }
    }
    }

    function LivelloSuccessivo () {
    if (punteggio > 10) {
    alert("Cheater!");
    }
    if (punteggio >= 7 && punteggio <= 11) {
    alert("Accesso consentito! Occorre inserire una nuova batteria di test ...")

    //sostituire la riga precedente con: self.location="altrotest.htm" per inserire il proseguimento del test

    }
    else {
    alert("Per proseguire occorre rispondere esattamente ad almeno 7 item! Il test può essere ripetuto ricaricando la pagina.")
    }
    }
    // End -->

    </SCRIPT>
    <script>
    <!-- Inizio
    function fototesto(foto,testo){
    this.foto=foto
    this.testo=testo
    }

    arr = new Array()
    arr[arr.length]=new fototesto('divieto_files/054.gif','testo 1');
    arr[arr.length]=new fototesto('divieto_files/055.gif','testo 2');

    for(i=0;i<arr.length;i++){
    casuale = Math.floor((arr.length) * Math.random());
    temp = arr[casuale]
    arr[casuale]=arr[i]
    arr[i]=temp
    }
    // End -->
    </script>
    </head>
    <body>
    La frase del giorno è:

    <script>var randomnumber=Math.floor(Math.random()*11)</script>
    <script language="JavaScript1.1" src="motivatequote.js"></script>




    <script>for(i=0;i<arr.length;i++)
    document.write('<img src=\"'+arr[i].foto+'" width="100" height="100" border="0">'+arr[i].testo+'
    ');
    <!-- document.write("<img src=\""+img[ran]+"\">"'+arr[i].testo+'
    '); -->
    </script>
    <p align="center">
    <font color="#000080">Per superare il test occorre rispondere esattamente
    almeno a 7 item.</font>
    <p align="center">
    <noscript>JavaScript è disabilitato. L'attivazione può essere effettuata con
    Strumenti Opzioni.</noscript>




    <FORM>
    <div align="center"><center>
    <table border="0" width="600" cellspacing="0" cellpadding="0">
    <tr>
    <td width="10%" valign="top" align="left"><table border="1" width="100%" cellspacing="1" cellpadding="2">[img]divieto_files/054.gif[/img]</table></td>
    <td width="1%"></td>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="100%" valign="top" align="left"><table border="1" width="80%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="10%" align="center" bgcolor="#000080"><font face="Arial" color="#FFFFFF">1</font></td>
    <td width="175%" colspan="2" bgcolor="#99CCFF"><font face="Arial" color="#000080">Cosa significa questo Cartello Stradale?</font></td>
    </tr>
    <tr>
    <td width="10%" align="center" bgcolor="#FFFFFF"><font face="Arial">a</font></td>
    <td width="164%" bgcolor="#FFFFFF"><font face="Arial">Divieto di Transito</font></td>
    <td width="11%" align="center" bgcolor="#FFFFFF"><font face="Arial"><input type="radio" value="a" name="q1" onClick="Verifica(1, this.value)"></font></td>
    </tr>
    <tr>
    <td width="10%" align="center" bgcolor="#FFFFFF"><font face="Arial">b</font></td>
    <td width="164%" bgcolor="#FFFFFF"><font face="Arial">Direzione Obbligatoria Dritto</font></td>
    <td width="11%" align="center" bgcolor="#FFFFFF"><font face="Arial"><input type="radio" value="b" name="q1" onClick="Verifica(1, this.value)""></font></td>
    </tr>
    <tr>
    <td width="10%" align="center" bgcolor="#FFFFFF"><font face="Arial">c</font></td>
    <td width="164%" bgcolor="#FFFFFF"><font face="Arial">Curva a Destra</font></td>
    <td width="11%" align="center" bgcolor="#FFFFFF"><font face="Arial"><input type="radio" value="c" name="q1" onClick="Verifica(1, this.value)"></font></td>
    </tr>
    <tr>
    <td width="10%" align="center" bgcolor="#FFFFFF"><font face="Arial">d</font></td>
    <td width="164%" bgcolor="#FFFFFF"><font face="Arial">Divieto di Sosta</font></td>
    <td width="11%" align="center" bgcolor="#FFFFFF"><font face="Arial"><input type="radio" value="d" name="q1" onClick="Verifica(1, this.value)"></font></td>
    </tr></table></tr></table></tr></table>


    </p>

    <table border="0" width="600" cellspacing="0" cellpadding="0">
    <tr>
    <td width="10%" valign="top" align="left"><table border="1" width="100%" cellspacing="1" cellpadding="2">[img]divieto_files/055.gif[/img]</table></td>
    <td width="1%"></td>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="100%" valign="top" align="left"><table border="1" width="80%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="10%" align="center" bgcolor="#000080"><font face="Arial" color="#FFFFFF">1</font></td>
    <td width="175%" colspan="2" bgcolor="#99CCFF"><font face="Arial" color="#000080">Cosa significa questo Cartello Stradale?</font></td>
    </tr>
    <tr>
    <td width="10%" align="center" bgcolor="#FFFFFF"><font face="Arial">a</font></td>
    <td width="164%" bgcolor="#FFFFFF"><font face="Arial">Direzione Obbligatoria Sinistra</font></td>
    <td width="11%" align="center" bgcolor="#FFFFFF"><font face="Arial"><input type="radio" value="a" name="q2" onClick="Verifica(2, this.value)"></font></td>
    </tr>
    <tr>
    <td width="10%" align="center" bgcolor="#FFFFFF"><font face="Arial">b</font></td>
    <td width="164%" bgcolor="#FFFFFF"><font face="Arial">Divieto di Accesso</font></td>
    <td width="11%" align="center" bgcolor="#FFFFFF"><font face="Arial"><input type="radio" value="b" name="q2" onClick="Verifica(2, this.value)""></font></td>
    </tr>
    <tr>
    <td width="10%" align="center" bgcolor="#FFFFFF"><font face="Arial">c</font></td>
    <td width="164%" bgcolor="#FFFFFF"><font face="Arial">Curva a Sinistra</font></td>
    <td width="11%" align="center" bgcolor="#FFFFFF"><font face="Arial"><input type="radio" value="c" name="q2" onClick="Verifica(2, this.value)"></font></td>
    </tr>
    <tr>
    <td width="10%" align="center" bgcolor="#FFFFFF"><font face="Arial">d</font></td>
    <td width="164%" bgcolor="#FFFFFF"><font face="Arial">STOP</font></td>
    <td width="11%" align="center" bgcolor="#FFFFFF"><font face="Arial"><input type="radio" value="d" name="q2" onClick="Verifica(2, this.value)"></font></td>
    </tr></table></tr></table></tr></table>


    </p>

    </center>
    </div>






    <CENTER>
    <input type=button onClick="LivelloSuccessivo()" value="Passa al livello successivo!">
    </CENTER>
    </FORM>



    <center>
    <font face="arial, helvetica" size="-2">basato su un free JavaScripts di The JavaScript Source</font>
    </center>



    </body>

    </html>

    e non esitate a commentare...ANZI....

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    78

    Inizio con un po di codex base

    ....ho realizzato il codex base su cui si dovrà basare inizialmente l'analisi di inserire una risposta giusta e tre errate..ma ci sono un paio di problemini...
    questo il codex inserito nell' head:<SCRIPT>
    <!-- Inizio Queste variabile sono usate per verificare le risposte esatte delle domande
    var quotes=new Array()
    quotes[0]='Divieto di Transito'
    quotes[1]='Divieto di Accesso'
    quotes[2]='Divieto di Sorpasso'
    quotes[3]='Bambini'
    quotes[4]='Transito Vietato ai Velocipedi'
    quotes[5]='Transito Vietato ai Motocicli'

    var risp = new Array;
    risp[1] = quotes[0]; // al momento ho preso in esame un solo test
    // End -->

    e questo codex è inserito in ogni risposta del test
    risp a:
    var set_ok=0
    var rnd=Math.floor(Math.random()*5)
    if (rnd == 1) {
    //se rnd = 1 inserisce risposta giusta
    document.write(risp[1])
    set_ok=1
    }else{
    //se rnd = 0 inserisce risposta errata
    var whichquote=Math.floor(Math.random()*(quotes.length ))
    document.write(quotes[whichquote])
    //document.write('Verrà inserita la risposta errata')
    set_ok=0
    }
    risp b e c:
    if (set_ok == 0) {
    var rnd=Math.floor(Math.random()*5)
    if (rnd == 1) {
    //se rnd = 1 inserisce risposta giusta
    document.write(risp[1])
    set_ok=1
    }else{
    //se rnd = 0 inserisce risposta errata
    var whichquote=Math.floor(Math.random()*(quotes.length ))
    document.write(quotes[whichquote])
    //document.write('Verrà inserita la risposta errata')
    set_ok=0
    }
    }

    e risp d:
    if (set_ok == 0) {
    //se set_ok = o deve inserire risposta giusta document.write(risp[1]) }

    Le risposte errate da usare le preleva da un elenco da un'altro scipt js.
    Come dicevo prima, dal codex allegato, fa semplicemente in modo da tirar fuori la risposta giusta con un random ed inserire, sempre random, tre risposte errate.Però non funziona bene. Principalmente ho riscontrato tre problemi:
    1) a volte randomicamente non visualizza la risposta, o meglio non si vede la risposta o è mancate anche in altre risposte.
    2) a volte mi ripete 2 o più volte la risposta giusta...questo perchè non ho ancora inserito il codex per non far accadere tutto questo.Un po difficile a farlo per me....ma ci sto lavorando sopra ed ho pensato a come dovrà essere...è nelle cose da fare
    3) non visualizzare più volte la stessa risposta, errata o giusta che sia....quindi eliminare dal random le risposte gia usate....in definitiva come sopra....

    mi potete dare qualche aiuto in merito alla primo problema...per il resto tirero giu qlc...e poi vedo come va....
    Saluti e grazi e1000.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    78

    Up

    Up

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    78

    No cerco la soluzione....

    ...del problema da ma mi accontenterei di avere anche un piccolo consiglio su come analizzare meglio la situazione per meglio comprendere su come creare il codex....per il codex ci sto lavorando.....ho varie ipotesi su cui lavorare....poi lo inseriro nel thread....
    Saluti a Tutti.Stano

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    78

    No cerco la soluzione....

    ...del problema da ma mi accontenterei di avere anche un piccolo consiglio su come analizzare meglio la situazione per meglio comprendere su come creare il codex....per il codex ci sto lavorando.....ho varie ipotesi su cui lavorare....poi lo inseriro nel thread....
    Saluti a Tutti.Stano

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.