Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Вывод результата он-лайн тестирования


Автор: Luxian 7.3.2011, 00:31
Привет .......есть у меня скрипт для проведения теста .....только вот проблема результат выводится в модальном окне .....можно ли как-то сделать что бы результаты выводились на отдельной страничке.??? потому что в модальном окне много результатов не выведешь.

Код

<script LANGUAGE="JavaScript">
// Заголовок страницы (h1)

// Подзаголовок (h2)
var subtitle = "Этот тест позволяет оценить Ваши знания";
// Это  вопросы
var questions=[
{ text:"Тэг «разрыва» строки это:",
         answers:["&lt;PR&gt;",
                  "&lt;TR&gt;",
                  "&lt;BR&gt;"],
         correctAnswer: 2
},
{        text:"Значение какого адреса может принять параметр href тега &lt;a&gt;",
         answers:["IP",
                  "Закладки",
                  "URL"],
         correctAnswer: 2
},
{        text:"Укажите правильный код цвета:",
         answers:["#FF00FF",
                 "&FF00FF",
                 "*FF00FF"],
         correctAnswer: 0
}


];
var yourAns = new Array;
var score = 0;

function Engine(question, answer) {yourAns[question]=answer;}

function Score(){
   var answerText = "Результаты:\n";
   for(var i = 0; i < yourAns.length; ++i){
    var num = i+1;
    answerText=answerText+"\n    Вопрос №"+ num +"";
    if(yourAns[i]!=questions[i].correctAnswer){
        answerText=answerText+"\  Правильный ответ: " +
        questions[i].answers[questions[i].correctAnswer] + "\n";
      }
        else{
        answerText=answerText+": Верно! \n";
        ++score;
        }
       }

   answerText=answerText+"\nВсего правильных ответов: "+score+"\n";

   alert(answerText);
   yourAns = new Array;
   score = 0;
   clearForm("quiz");
}
function clearForm(name) {
   var f = document.forms[name];
   for(var i = 0; i < f.elements.length; ++i) {
    if(f.elements[i].checked)
        f.elements[i].checked = false;
}
}
</script>
<FORM name="quiz">
<ol>
<script>    
for(var q=0; q<questions.length; ++q) {
   var question = questions[q];
   var idx = 1 + q;

   document.writeln('<li><span class="quest">' + question.text + '</span><br/>');
   for(var i in question.answers) {
    document.writeln('<input type=radio name="q' + idx + '" value="' + i +
    '" onClick="Engine(' + q + ', this.value)">' + question.answers[i] + '<br/>');
}
}
</script>
</ol>
<input type=button onClick="Score()" value="Проверить результаты">

</FORM>

Автор: Luxian 7.3.2011, 01:01
У кого-то есть идеи?

Автор: нуп 7.3.2011, 01:10
Гугль window.open и туда все пихать  smile 

Автор: Luxian 7.3.2011, 01:20
Цитата(нуп @ 7.3.2011,  01:10)
Гугль window.open и туда все пихать  smile

Так что куда кидать?? .......какую часть скрипта в этот window.open кидать -то чтобы результат выводил

Автор: нуп 7.3.2011, 01:29
Берешь свой результат и пихаешь в окно!! Неужели гуглить не умеете?
Код

var testwindow = window.open("", "mywindow", "location=1,status=1,scrollbars=1,width=500,height=500");   
 testwindow.document.write('моя результатама')

 smile 

Автор: Luxian 7.3.2011, 02:03
Цитата(нуп @ 7.3.2011,  01:29)
Берешь свой результат и пихаешь в окно!! Неужели гуглить не умеете?
Код

var testwindow = window.open("", "mywindow", "location=1,status=1,scrollbars=1,width=500,height=500");   
 testwindow.document.write('моя результатама')

 smile

Ну что то не выходит еклмн ......... Если уж не трудко то скопируй из моего кода ....что куда 

Автор: нуп 7.3.2011, 02:13
Ну если это ваш код, то вы найдете куда и что подставить.  smile 

Автор: Luxian 7.3.2011, 02:16
Цитата(нуп @ 7.3.2011,  02:13)
Ну если это ваш код, то вы найдете куда и что подставить.  smile

Ну если не желаете уже помочь до конца то  и на том спасибо 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)