如何使用JavaScript验证几个mcq问题

How to validate several mcq questions using JavaScript?

本文关键字:几个 mcq 问题 何使用 JavaScript 验证      更新时间:2023-09-26

我真的需要一个带Javascript的即时命令。

我在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>

这样做:

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;
}