Javascript 从单选按钮和忽略文本字段计算测验结果的Java脚本

Javascript 从单选按钮和忽略文本字段计算测验结果的Java脚本,javascript,textfield,radiobuttonlist,Javascript,Textfield,Radiobuttonlist,我正在创建一个测试,计算结果并给出一个百分比。它在底部显示正确答案。结果可以通过电子邮件发送给我。下面的代码有效。请原谅布局,我对这个很陌生 <html><head><title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="testpageCSS.css" rel="stylesheet

我正在创建一个测试,计算结果并给出一个百分比。它在底部显示正确答案。结果可以通过电子邮件发送给我。下面的代码有效。请原谅布局,我对这个很陌生

<html><head><title></title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="testpageCSS.css" rel="stylesheet" type="text/css">

<script language="JavaScript">
<!--

var numQues = 4;
var numChoi = 4;

var answers = new Array(4);
answers[0] = "33v 1A";
answers[1] = "Climbs from between 8 -12v up to battery Voltage";
answers[2] = "Main power relay stuck open";
answers[3] = "2 Meters";

function getScore(form) {
var score = 0;
var currElt;
var currSelection;

for (i=0; i<numQues; i++) {
currElt = i*numChoi;
for (j=0; j<numChoi; j++) {
  currSelection = form.elements[currElt + j];
  if (currSelection.checked) {
    if (currSelection.value == answers[i]) {
      score++;
      break;
    }
  }
}
}

score = Math.round(score/numQues*100);
form.percentage.value = score + "%";

var correctAnswers = "";
for (i=1; i<=numQues; i++) {
correctAnswers += i + ". " + answers[i-1] + "\r\n";
}
form.solutions.value = correctAnswers;

}

// -->
</script>

</head>

<body>

<div id="centerTOP">

<h1>  HCA001</h1>

</div>



<div id="center">



<form name="quiz" method="post" action="mailto:myemail"enctype="text/plain">    

<h2>First name:</h2>
<input type="text" name="Firstname" value="" style="color: #000000;"  
background-color: #d9d9d9;">
<h2>Last name:</h2>

<input type="text" name="Lastname" value="" style="color: #000000;    background-color: #d9d9d9;">
<h2>Trade Partner:</h2>

<input type="text" name="Trade Partner" value="" style="color: #000000; background-color: #d9d9d9;">
<br><br><br>




<p>

<h2>1. What is the output Voltage and Current of the  Charger?</h2><br>
<input type="radio" name="q1" value="24v 1A">24v 1A<br>
<input type="radio" name="q1" value="33v 5A">33v 5A<br>
<input type="radio" name="q1" value="24v 5A">24v 5A<br>
<input type="radio" name="q1" value="33v 1A">33v 1A<br><br><br>
<p>

<h2>2. If you were checking the communications voltage for any of the   powered options (Auto Hinge, Powered Footplate or Powered Swivel)what would you expect to see?</h2><br>
<input type="radio" name="q2" value="Climbs from between 8 -12v up to battery Voltage">Climbs from between 8 -12v up to battery Voltage<br>
<input type="radio" name="q2" value="Climbs from 4v to Battery Voltage">Climbs from 4v to Battery Voltage<br>
<input type="radio" name="q2" value="24v">24v<br>
<input type="radio" name="q2" value="33v">33v<br><br><br>
<p>

<h2>3. What does it mean if fault code 'E' is displayed on the diagnostic display?</h2><br>
<input type="radio" name="q3" value="Main power relay stuck open">Main power relay stuck open<br>
<input type="radio" name="q3" value="Main power relay welded closed">Main power relay welded closed<br>
<input type="radio" name="q3" value="The main power relay closed early">The main power relay closed early<br>
<input type="radio" name="q3" value="Error">Error<br><br><br>
<p>

<h2>4. What is the minimum length of a Slidetrack rail?</h2><br>
<input type="radio" name="q4" value="2 Meters">2 Meters<br>
<input type="radio" name="q4" value="2.1 Meters">2.1 Meters<br>
<input type="radio" name="q4" value="2.2 Meters">2.2 Meters<br>
<input type="radio" name="q4" value="2.5 Meters">2.5 Meters<br><br><br>
<p>

<input type="button" value="Get score" onClick="getScore(this.form)"><br>     <br><br>

<font face="arial" color="#5f5f5f">Score = <input type=text size=15 name="percentage" style="color: #000000; background-color: #d9d9d9;"><br><br>
Correct answers:</font><br>
<textarea name="solutions" wrap="virtual" rows="10" cols="40" style="color: #000000; background-color: #d9d9d9;"></textarea>
<br><br>

<input type="submit" value="Send Form">

<input type="reset" value="Clear Form">


</form>

</div>

</body></html>

HCA001
名字:

设置类型属性收音机并使用

var inputs = form1.elements;
 for (var i = 0; i < inputs.length; ++i) {
        if (inputs[i].type == 'radio') {

        }
    }
var输入=form1.1元素;
对于(变量i=0;i
您可以为应该评分的元素分配一个类,然后迭代这些元素

下面是一个演示:

JS

var myBtn = document.getElementById('getScore');
myBtn.addEventListener('click', function() {
  var elems = document.getElementsByClassName('quiz');
  for (var i = 0; i < elems.length; i++) {
    if (elems[i].checked) {
      console.log(elems[i].value);
      //add your scoring logic here.  elems[i].value is the selected value
    }
  }
});
var myBtn=document.getElementById('getScore');
myBtn.addEventListener('click',function(){
var elems=document.getElementsByClassName('quick');
对于(变量i=0;i
HTML

<form name="quiz" method="post" action="mailto:myemail" enctype="text/plain">
  <h2>First name:</h2>
  <input type="text" name="Firstname" value="" style="color: #000000; background-color: #d9d9d9;">
  <h2>Last name:</h2>
  <input type="text" name="Lastname" value="" style="color: #000000;    background-color: #d9d9d9;">
  <h2>Trade Partner:</h2>
  <input type="text" name="Trade Partner" value="" style="color: #000000; background-color: #d9d9d9;">
  <br>
  <br>
  <br>
  <p>
    <h2>1. What is the output Voltage and Current of the  Charger?</h2>
    <br>
    <input class="quiz" type="radio" name="q1" value="24v 1A">24v 1A
    <br>
    <input class="quiz" type="radio" name="q1" value="33v 5A">33v 5A
    <br>
    <input class="quiz" type="radio" name="q1" value="24v 5A">24v 5A
    <br>
    <input class="quiz" type="radio" name="q1" value="33v 1A">33v 1A
    <br>
    <br>
    <br>
    <p>

      <h2>2. If you were checking the communications voltage for any of the   powered options (Auto Hinge, Powered Footplate or Powered Swivel)what would you expect to see?</h2>
      <br>
      <input class="quiz" type="radio" name="q2" value="Climbs from between 8 -12v up to battery Voltage">Climbs from between 8 -12v up to battery Voltage
      <br>
      <input class="quiz" type="radio" name="q2" value="Climbs from 4v to Battery Voltage">Climbs from 4v to Battery Voltage
      <br>
      <input class="quiz" type="radio" name="q2" value="24v">24v
      <br>
      <input class="quiz" type="radio" name="q2" value="33v">33v
      <br>
      <br>
      <br>
      <p>
        <h2>3. What does it mean if fault code 'E' is displayed on the diagnostic display?</h2>
        <br>
        <input class="quiz" type="radio" name="q3" value="Main power relay stuck open">Main power relay stuck open
        <br>
        <input class="quiz" type="radio" name="q3" value="Main power relay welded closed">Main power relay welded closed
        <br>
        <input class="quiz" type="radio" name="q3" value="The main power relay closed early">The main power relay closed early
        <br>
        <input class="quiz" type="radio" name="q3" value="Error">Error
        <br>
        <br>
        <br>
        <p>

          <h2>4. What is the minimum length of a Slidetrack rail?</h2>
          <br>
          <input class="quiz" type="radio" name="q4" value="2 Meters">2 Meters
          <br>
          <input class="quiz" class="quiz" type="radio" name="q4" value="2.1 Meters">2.1 Meters
          <br>
          <input class="quiz" type="radio" name="q4" value="2.2 Meters">2.2 Meters
          <br>
          <input class="quiz" type="radio" name="q4" value="2.5 Meters">2.5 Meters
          <br>
          <br>
          <br>
          <p>

            <input id="getScore" type="button" value="Get score">
            <br>
            <br>
            <br>

            <font face="arial" color="#5f5f5f">Score = <input type=text size=15 name="percentage" style="color: #000000; background-color: #d9d9d9;"><br><br>
Correct answers:</font>
            <br>
            <textarea name="solutions" wrap="virtual" rows="10" cols="40" style="color: #000000; background-color: #d9d9d9;"></textarea>
            <br>
            <br>

            <input type="submit" value="Send Form">
            <input type="reset" value="Clear Form">
</form>

名字:
姓氏:
贸易伙伴:



1.充电器的输出电压和电流是多少?
24v 1A
33v 5A
24v 5A
33v 1A


2.如果您正在检查任何电动选项(自动铰链、电动踏板或电动旋转)的通信电压,您希望看到什么?
从8-12v上升到蓄电池电压
从4v上升到蓄电池电压
24v
33v


3.如果诊断显示屏上显示故障代码“E”,这意味着什么?
主电源继电器卡在打开位置
主电源继电器焊接闭合
主电源继电器提前关闭
错误


4.滑轨的最小长度是多少?
2米
2.1米
2.2米
2.5米





分数=

正确答案:



将一个类添加到作为测验一部分的元素中,并使用该类而不是
表单元素。在要访问的项目之前,您向元素列表添加了三个项目。如果这是一个数组,比如说,
vara=[1,2,3]然后你通过
为(var i=0,i<3;i++){var b=a[i];}
获取这些值,然后你向数组中添加了项,并使其成为
var a=[5,6,7,1,2,3]
,如何更改for循环以确保仍然获得相同的结果?另外,作为参考,在First Name输入的style属性中有一个额外的双引号。您已经命名了所有单选按钮元素——为什么不使用document.getElementsByName()?
<form name="quiz" method="post" action="mailto:myemail" enctype="text/plain">
  <h2>First name:</h2>
  <input type="text" name="Firstname" value="" style="color: #000000; background-color: #d9d9d9;">
  <h2>Last name:</h2>
  <input type="text" name="Lastname" value="" style="color: #000000;    background-color: #d9d9d9;">
  <h2>Trade Partner:</h2>
  <input type="text" name="Trade Partner" value="" style="color: #000000; background-color: #d9d9d9;">
  <br>
  <br>
  <br>
  <p>
    <h2>1. What is the output Voltage and Current of the  Charger?</h2>
    <br>
    <input class="quiz" type="radio" name="q1" value="24v 1A">24v 1A
    <br>
    <input class="quiz" type="radio" name="q1" value="33v 5A">33v 5A
    <br>
    <input class="quiz" type="radio" name="q1" value="24v 5A">24v 5A
    <br>
    <input class="quiz" type="radio" name="q1" value="33v 1A">33v 1A
    <br>
    <br>
    <br>
    <p>

      <h2>2. If you were checking the communications voltage for any of the   powered options (Auto Hinge, Powered Footplate or Powered Swivel)what would you expect to see?</h2>
      <br>
      <input class="quiz" type="radio" name="q2" value="Climbs from between 8 -12v up to battery Voltage">Climbs from between 8 -12v up to battery Voltage
      <br>
      <input class="quiz" type="radio" name="q2" value="Climbs from 4v to Battery Voltage">Climbs from 4v to Battery Voltage
      <br>
      <input class="quiz" type="radio" name="q2" value="24v">24v
      <br>
      <input class="quiz" type="radio" name="q2" value="33v">33v
      <br>
      <br>
      <br>
      <p>
        <h2>3. What does it mean if fault code 'E' is displayed on the diagnostic display?</h2>
        <br>
        <input class="quiz" type="radio" name="q3" value="Main power relay stuck open">Main power relay stuck open
        <br>
        <input class="quiz" type="radio" name="q3" value="Main power relay welded closed">Main power relay welded closed
        <br>
        <input class="quiz" type="radio" name="q3" value="The main power relay closed early">The main power relay closed early
        <br>
        <input class="quiz" type="radio" name="q3" value="Error">Error
        <br>
        <br>
        <br>
        <p>

          <h2>4. What is the minimum length of a Slidetrack rail?</h2>
          <br>
          <input class="quiz" type="radio" name="q4" value="2 Meters">2 Meters
          <br>
          <input class="quiz" class="quiz" type="radio" name="q4" value="2.1 Meters">2.1 Meters
          <br>
          <input class="quiz" type="radio" name="q4" value="2.2 Meters">2.2 Meters
          <br>
          <input class="quiz" type="radio" name="q4" value="2.5 Meters">2.5 Meters
          <br>
          <br>
          <br>
          <p>

            <input id="getScore" type="button" value="Get score">
            <br>
            <br>
            <br>

            <font face="arial" color="#5f5f5f">Score = <input type=text size=15 name="percentage" style="color: #000000; background-color: #d9d9d9;"><br><br>
Correct answers:</font>
            <br>
            <textarea name="solutions" wrap="virtual" rows="10" cols="40" style="color: #000000; background-color: #d9d9d9;"></textarea>
            <br>
            <br>

            <input type="submit" value="Send Form">
            <input type="reset" value="Clear Form">
</form>