Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507

    test a risposta multipla

    Ciao a tutti

    devo realizzare un test a risposta multipla con radio button, un test tipo che colore sei..
    ogni domanda ha 4 risposte
    dovrei assegnare un valore ad ogni risposta e alla fine, in base al punteggio raggiunto, mostrare il profilo relativo..
    Le domande sono 10

    Qualcuno sa aiutarmi?
    Grazie mille

  2. #2
    sono 10 collezioni

    alla fine dovrai estrarre l'indice selezionato per ogni collezione e gestirli con degli if per assegnare loro un valore... o un punteggio

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    sono riuscita a farlo calclando il maggior numro di risposte (A o B o C o D), però potrei incorrere in parità...quindi vorrei farlo assegnando ad ogni risposta un punteggio e calcolando il punteggio finale ottenuto..

    sai darmi qualche dritta? dove potrei trovare qualche script da cui almeno partire..

    Grazie

  4. #4
    cosa intendi per incorrere in parità?

    Il value lo puoi gia assegnare sul form gia sul radiobox no? Senza guardare se è di tipo A B o altro

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    io ho messo questo codice, che ho trovato in un thread sul forum..ma non funziona e non riesco a capire il perchè..

    <html>

    <head>
    <title>prova</title>

    <script type="text/javascript">
    window.onload = function()
    {
    var inputs = document.getElementsByTagName('input')

    var radios = new Array()
    for (var i = 0; i < inputs.length; i++)
    {
    if ( inputs.item(i).getAttribute('type') == 'radio' )
    {
    radios.push(inputs.item(i))
    }
    }

    function preleva_risposte()
    {
    var risposte = new Array()
    for (var i = 0; i < radios.length; i++)
    {
    if ( radios[i].checked )
    {
    risposte.push(radios[i])
    }
    }
    return risposte
    }

    function controlla()
    {
    var risposte = preleva_risposte()
    var risultato = 0

    for (var i = 0; i < risposte.length; i++)
    {
    var valore = risposte[i].getAttribute('value')
    risultato = risultato + parseInt(valore)
    }

    alert(risultato)
    }
    }

    </script>
    </head>
    <body>
    <form action="javascript:controlla()">
    In quale dei seguenti elementi ti identifichi maggiormente?

    <input id="d1_a" name="d1" type="radio" value="1" /><font color="000">Fuoco</font>

    <input id="d1_b" name="d2" type="radio" value="2" /><font color="000">Terra</font>

    <input id="d1_c" name="d3" type="radio" value="3" /><font color="000">Acqua</font>

    <input id="d1_d" name="d4" type="radio" value="4" /><font color="000">Aria</font>



    <input type="button" value="Scopri subito tuo profilo!">


    </form>

    </body>
    </html>

  6. #6
    prova questo che ho modificato

    Codice PHP:
    <html>
        <
    head>
            <
    title>prova</title>
            <
    script type="text/javascript">
                function 
    valoreInsieme(insieme)
                {
                    for(
    i=0;i<document.myform[insieme].length;i++)
                    {
                        if (
    document.myform[insieme][i].checked==true)
                        return 
    document.myform[insieme][i].value;
                    }
                }    
                function 
    controlla()
                {
                    
    alert(valoreInsieme('domanda1'));
                    
    alert(valoreInsieme('domanda2'));
                }
            
    </script>
        </head>
        <body>
        <form name="myform" id="myform" action="javascript:controlla()">
        In quale dei seguenti elementi ti identifichi maggiormente?

        <input name="domanda1" type="radio" value="1" /><font color="000">Fuoco</font>

        <input name="domanda1" type="radio" value="2" /><font color="000">Terra</font>

        <input name="domanda1" type="radio" value="3" /><font color="000">Acqua</font>

        <input name="domanda1" type="radio" value="4" /><font color="000">Aria</font>

        
        Domanda2?

        <input name="domanda2" type="radio" value="1" /><font color="000">risposta 1</font>

        <input name="domanda2" type="radio" value="2" /><font color="000">risposta 2</font>

        <input name="domanda2" type="radio" value="3" /><font color="000">risposta 3</font>

        <input name="domanda2" type="radio" value="4" /><font color="000">risposta 4</font>

        
        <input type="submit" value="Scopri subito tuo profilo!">



        </form>
        </body>
    </html> 

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    ok..così funzione
    se però io voglio fare un controllo e vedere: se il punteggio è maggiore o uguale a n vai alla pagina..

    ho modificato il codice in questo modo ma non va

    <html>
    <head>
    <title>prova</title>
    <script type="text/javascript">
    function valoreInsieme(insieme)
    {
    for(i=0;i<document.myform[insieme].length;i++)
    {
    if (document.myform[insieme][i].checked==true)
    return document.myform[insieme][i].value;
    }
    }
    function controlla()
    {
    if (i<=2){
    location.href="profilo1.html";
    }
    else if (i>2) {
    location.href="profilo2.html";
    }

    }
    </script>
    </head>
    <body>
    <form name="myform" id="myform" action="javascript:controlla()">
    In quale dei seguenti elementi ti identifichi maggiormente?

    <input name="domanda1" type="radio" value="1" /><font color="000">Fuoco</font>

    <input name="domanda1" type="radio" value="2" /><font color="000">Terra</font>

    <input name="domanda1" type="radio" value="3" /><font color="000">Acqua</font>

    <input name="domanda1" type="radio" value="4" /><font color="000">Aria</font>


    Domanda2?

    <input name="domanda2" type="radio" value="1" /><font color="000">risposta 1</font>

    <input name="domanda2" type="radio" value="2" /><font color="000">risposta 2</font>

    <input name="domanda2" type="radio" value="3" /><font color="000">risposta 3</font>

    <input name="domanda2" type="radio" value="4" /><font color="000">risposta 4</font>


    <input type="submit" value="Scopri subito tuo profilo!">



    </form>
    </body>
    </html>

  8. #8
    è ma mi sembra che a i non gli assegni nessun valore...

    i dentro al ciclo a una "vita" sua

    prova cosi

    function controlla()
    {
    var punteggio = aloreInsieme('domanda1') + aloreInsieme('domanda2') ;
    if (punteggio <=2)
    {
    location.href="profilo1.html";
    }
    else
    {
    location.href="profilo2.html";
    }
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    Perfetto!!!
    Grazie mille!

  10. #10
    di niente appena è finito il test pero lo voglio fare è :,( ehhehe
    tienimi informato

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.