Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Aiuto per quiz in javascript

    Ciao,
    ho un problema con un javascript che genera un quiz. In realtà funziona benissimo, ma vorrei che nel momento in cui si clicca "verifica il tuo punteggio" appaia una pagina normale e non una finestra di pop up, così come per l'elenco delle risposte corrette. Vi posto il codice della pagina


    var domande = new Array();


    domande[0]=new Array("CALCIO: Chi è stato il più forte di tutti?",1,"Messi","Ronaldo","Maradona");




    var TIT = "(DEMO)";

    // Colore del bordo della tabella
    var colore = "#0066FF";


    var punt0_33 = "Francamente è un pò pochino.";
    var punt33_66 = "Non male, ma potresti far meglio.";
    var punt66_99 = "Buona prova, una media di errori decisamente bassa.";
    var punt100 = "Complimenti!!!\nNessun errore!\n";

    /* STOP! Fine configurazione.
    - - - - - - - - - - - - - - - - - - - - - - -*/


    var risposteEsatte = new Array();
    var getRadio = new Array();
    var rDate = new Array();
    var domMem = new Array();

    var newQuest = "<FORM NAME=\"quizForm\">\n<TABLE WIDTH=\"100%\" BGCOLOR="+colore+" BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" ALIGN=\"CENTER\">\n<TR>\n<TD><FONT FACE=\"ARIAL\" SIZE=\"4\" COLOR=\"WHITE\">_"+TIT+"</FONT>\n</TD>\n</TR>\n<TR BGCOLOR=\"WHITE\" ALIGN=\"CENTER\">\n<TD>\n
    <FONT FACE=\"ARIAL\" SIZE=\"3\" COLOR=\"BLACK\">"+INTRO+"</FONT>\n
    \n
    \n</TD>\n</TR>\n";


    for (var n=0; n<domande.length; n++){

    newQuest += "<TR ALIGN=\"CENTER\" BGCOLOR=\"WHITE\">\n<TD COLSPAN=\"2\">\n
    \n
    \n<FONT FACE=\"ARIAL\" SIZE=\"2\" COLOR=\"990033\">"+domande[n][0]+"</FONT>\n
    \n
    \n</TD>\n</TR>\n<TR ALIGN=\"CENTER\">\n<TD>\n<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"1\" CELLPADDING=\"4\">";

    domMem[n]=domande[n][0];
    risposteEsatte[n]=domande[n][1]-1;
    rDate[n]='domanda_'+n;



    for (var num2=2; num2<domande[n].length; num2++){


    newQuest += "<TR HEIGHT=\"15\" BGCOLOR=\"WHITE\">\n<TD WIDTH=\"1%\" ALIGN=\"CENTER\" VALIGN=\"TOP\"><INPUT TYPE=\"RADIO\" NAME=\"domanda_"+n+"\" VALUE=\"risposta_"+num2+"\"></TD>\n<TD WIDTH=\"99%\">\n<FONT FACE=\"VERDANA, ARIAL\" SIZE=\"2\" COLOR=\"BLACK\">"+domande[n][num2]+"</FONT>\n
    \n";

    }

    newQuest += "</TD>\n</TR>\n</TABLE>\n</TD>\n</TR>\n";
    }

    newQuest += "<TR>\n<TD HEIGHT=\"50\" BGCOLOR=\"WHITE\">_</TD>\n</TR>\n<TR ALIGN=\"CENTER\">\n<TD>verifica il tuo punteggio</FONT></TD>\n</TR>\n</TABLE>\n</FORM>\n
    \n";

    document.write(newQuest);

    function punteggio(){

    var giuste = 0;

    for (var n=0; n<domande.length; n++){

    (document.quizForm[rDate[n]][risposteEsatte[n]].checked)?giuste++:false;
    }

    var singPlur, preposizione;

    (giuste ==1)?singPlur = " risposta esatta ":singPlur = " risposte esatte ";
    (giuste ==0)?preposizione = " allo "reposizione = " al ";

    var percentuale = parseInt((giuste*100)/domande.length);


    if(percentuale == 100) {
    var giudizio = punt100;
    alert(giudizio+'.');}

    else {

    if (percentuale <= 33){
    var giudizio = punt0_33;}

    else if(percentuale <=66){
    var giudizio = punt33_66;}

    else {
    var giudizio = punt66_99;}

    var rispConfirm = confirm('Hai risposto correttamente'+preposizione+percentuale+'% dei quesiti, con '+giuste+singPlur+'su un totale di '+domande.length+'.\n'+giudizio+'\n\nSeleziona \"OK\" per conoscere tutte le risposte esatte, oppure \"annulla\" per riprovare.');

    if(rispConfirm == true){

    var soluzione = "<TABLE WIDTH=\"100%\" BGCOLOR=\"BLACK\" BORDER=\"0\" CELLPADDING=\"1\" CELLSPACING=\"1\" ALIGN=\"CENTER\">\n<TR BGCOLOR="+colore+">\n<TD ALIGN=\"CENTER\"><FONT FACE=\"ARIAL\" SIZE=\"4\" COLOR=\"WHITE\">Soluzioni del quiz:</FONT>\n
    \n
    \n</TD>\n</TR>\n<TR BGCOLOR="+colore+">\n<TD ALIGN=\"CENTER\">\n<TABLE WIDTH=\"100%\" BGCOLOR="+colore+" BORDER=\"0\" CELLSPACING=\"1\" CELLPADDING=\"5\">\n";

    for(n=0; n<domande.length; n++){

    if(document.quizForm[rDate[n]][risposteEsatte[n]].checked){
    var ColRisp = "<FONT COLOR=\"GREEN\">V</FONT>";
    }

    else {
    var ColRisp = "<FONT COLOR=\"RED\">!</FONT>";
    }

    soluzione += "<TR HEIGHT=\"20\" BGCOLOR=\"WHITE\">\n<TD WIDTH=\"10\" ALIGN=\"CENTER\" VALIGN=\"TOP\">\n<FONT FACE=\"GEORGIA\" SIZE=\"5\">"+ColRisp+"</FONT>\n</TD>\n<TD>\n<FONT FACE=\"VERDANA, ARIAL\" SIZE=\"2\" COLOR=\"BLACK\"><FONT COLOR=\"#666666\">"+domMem[n]+"</FONT>\n
    "+domande[n][risposteEsatte[n]+2]+"</FONT>\n
    \n</TD>\n</TR>\n";
    }

    soluzione += "</TABLE>\n</TD>\n</TR>\n<TR BGCOLOR="+colore+" ALIGN=\"CENTER\">\n<TD>\n
    \n<FONT FACE=\"ARIAL\" SIZE=\"3\" COLOR=\"WHITE\">chiudi la finestra</FONT></TD>\n</TR>\n</TABLE>\n";

    var finestra = open("","Soluzione","WIDTH=500,HEIGHT=400,SCROLLBA RS");
    finestra.document.write(soluzione);}

    else{quizForm.reset();}
    }
    }


    Grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    al posto di

    var finestra = open("","Soluzione","WIDTH=500,HEIGHT=400,SCROLLBA RS");
    finestra.document.write(soluzione);}

    metti solo
    document.write(soluzione);}

    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Originariamente inviato da br1
    al posto di

    var finestra = open("","Soluzione","WIDTH=500,HEIGHT=400,SCROLLBA RS");
    finestra.document.write(soluzione);}

    metti solo
    document.write(soluzione);}

    Ciao,
    innanzitutto grazie per la risposta.
    Ho provato a modificare il codice come suggerito, ma continua ad apparire una finestra di pop up.
    Io non la vorrei vedere, ma mi piacerebbe avere una pagina con il testo che attualmente vedo nella finestra di pop up. E' possibile.

    Grazie
    Luca

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    ASpetta, mi sono bloccato sul tuo concetto di "popup": se intendi la prima finestrella che appare... non e' una popup, e' una finestra di sistema...
    per la seconda mi rimane ancora il dubbio se tu la "pagina" vuoi che si apra nella stessa "finestra" oppure in una "finestra" diversa (esempio, una popup con tutti gli strumenti....)
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Originariamente inviato da br1
    ASpetta, mi sono bloccato sul tuo concetto di "popup": se intendi la prima finestrella che appare... non e' una popup, e' una finestra di sistema...
    per la seconda mi rimane ancora il dubbio se tu la "pagina" vuoi che si apra nella stessa "finestra" oppure in una "finestra" diversa (esempio, una popup con tutti gli strumenti....)
    Corretto, la finestra di pop up che intendevo è la finestra di sistema.
    Non la voglio. Voglio che tutto le info che mi genera il codice vengano scritte sulla pagina, se possibile.

    Grazie

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.