Как проверить несколько вопросов mcq, используя JavaScript? - PullRequest
1 голос
/ 29 февраля 2012

Мне действительно нужно немедленно с javascript.

Я создал тест mcq в xhtml и попытался проверить, используя javascript.Проблема в том, что я могу отобразить предупреждение, если какие-либо вопросы остались без ответа.Но я хочу перечислить неотвеченные номера вопросов в том же сообщении.Пожалуйста, смотрите коды ниже.

Требуется немедленное решение.Большое спасибо заранее.

<script type="text/javascript">
<!--
function validateRadio(radio) {
   var retval = false
   for ( var i = 0; i < radio.length; i++ ) {
      if ( radio[i].checked ) retval = true;
   }
   return retval;
}

// to make sure all questions are answered
function validateForm(theForm) // to make sure all questions are answered
{
   var retval = true;
   if ( !validateRadio(theForm.q1) ) retval = false;
   if ( !validateRadio(theForm.q2) ) retval = false;
   if ( !validateRadio(theForm.q3) ) retval = false;
   if ( !retval ) alert("Answer all of the questions");
   return retval;
}

// --></script>

<form name="quiz" action="result.php" method="post">

  <p>1. Choose the correct set of solution(s) by solving <img src="images/image002.png" width="93" height="17" alt=""/> equation?<br/>
    &nbsp;&nbsp;&nbsp;<input type="radio" name="q1" value="1"/>gh<br/>
    &nbsp;&nbsp;&nbsp;<input type="radio" name="q1" value="2"/>hk<br/>
    &nbsp;&nbsp;&nbsp;<input type="radio" name="q1" value="3"/>h<br/>
    &nbsp;&nbsp;&nbsp;<input type="radio" name="q1" value="4"/>ncb</p>

  <p>2. What is the value of <i>x</i> when 78x ?<br/>

    &nbsp;&nbsp;&nbsp;<input type="radio" name="q2" value="1"/>90<br/>
    &nbsp;&nbsp;&nbsp;<input type="radio" name="q2" value="2"/>656<br/>
    &nbsp;&nbsp;&nbsp;<input type="radio" name="q2" value="3"/>2<br/>
    &nbsp;&nbsp;&nbsp;<input type="radio" name="q2" value="4"/>5</p>

  <p>3. What is the value of 5x ?<br/>
    <input type="radio" name="q3" value="1"/>+3<br/>
    <input type="radio" name="q3" value="2"/>+6<br/>
    <input type="radio" name="q3" value="3"/>-3<br/>
    <input type="radio" name="q3" value="4"/>-6</p>


    <p><input type="submit" name="submit" value="Submit Now!" onclick="return validateForm(this.form)"/></p>

1 Ответ

0 голосов
/ 29 февраля 2012

Сделайте это:

function validateForm(theForm) // to make sure all questions are answered
{
   var retval = true;
   var unanswered = "";
   if ( !validateRadio(theForm.q1) ){retval = false;unanswered += "Question1\n";}
   if ( !validateRadio(theForm.q2) ){retval = false;unanswered += "Question2\n";}
   if ( !validateRadio(theForm.q3) ){retval = false;unanswered += "Question3\n";}
   if ( !retval ) alert("Answer all of the questions\nThe following were unanswered:\n" + unanswered);
   return retval;
}
...