2014-12-03 4 views
0
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1"> 
    <meta name="GENERATOR" content="Mozilla/4.51 (Macintosh; I; PPC) 
[Netscape]"> 
    <title>Correcting cloze exercise</title> 
<script LANGUAGE="javascript"> 
function Gradeit() 
{ 

function getvalues(){ 

return document.quiz.q1.value 
return document.quiz.q2.value 
return document.quiz.q3.value 
return document.quiz.q4.value 
return document.quiz.q5.value 
return document.quiz.q6.value 
return document.quiz.q7.value 
return document.quiz.q8.value 
return document.quiz.q9.value 
return document.quiz.q10.value 
} 




var Answers=new Array(10) 
Answers[0]="Rawls" 
Answers[1]="Utilitarianism" 
Answers[2]="Deontological" 
Answers[3]="Socialist" 
Answers[4]="Contractual" 
Answers[5]="Veil of Ignorance" 
Answers[6]="Stage 2" 
Answers[7]="Intent based Utilitarianism" 
Answers[8]="Libertarian Justice" 
Answers[9]="Kant" 


var UserAnswers = new Array(10) 
UserAnswers[0] = document.quiz.q1.value 
UserAnswers[1] = document.quiz.q2.value 
UserAnswers[2] = document.quiz.q3.value 
UserAnswers[3] = document.quiz.q4.value 
UserAnswers[4] = document.quiz.q5.value 
UserAnswers[5] = document.quiz.q6.value 
UserAnswers[6] = document.quiz.q7.value 
UserAnswers[7] = document.quiz.q8.value 
UserAnswers[8] = document.quiz.q9.value 
UserAnswers[9] = document.quiz.q10.value 


var count0 = 0 
document.quiz.number_correct.value = 0 


if (Answers[0] == UserAnswers[0]) 
{count0 = count0 + 1, document.quiz.ebox1.value=""} 
else 
{count0 = count0, document.quiz.ebox1.value="X"} 

if (Answers[1] == UserAnswers[1]) 
{count0 = count0 + 1, document.quiz.ebox2.value=" "} 
else 
{count0 = count0, document.quiz.ebox2.value="X"} 

if (Answers[2] == UserAnswers[2]) 
{count0 = count0 + 1, document.quiz.ebox3.value=" "} 
else 
{count0 = count0, document.quiz.ebox3.value="X"} 

if (Answers[3] == UserAnswers[3]) 
{count0 = count0 + 1, document.quiz.ebox4.value=" "} 
else 
{count0 = count0, document.quiz.ebox4.value="X"} 

if (Answers[4] == UserAnswers[4]) 
{count0 = count0 + 1, document.quiz.ebox5.value=" "} 
else 
{count0 = count0, document.quiz.ebox5.value="X"} 

if (Answers[5] == UserAnswers[5]) 
{count0 = count0 + 1, document.quiz.ebox6.value=" "} 
else 
{count0 = count0, document.quiz.ebox6.value="X"} 

if (Answers[6] == UserAnswers[6]) 
{count0 = count0 + 1, document.quiz.ebox7.value=" "} 
else 
{count0 = count0, document.quiz.ebox7.value="X"} 

if (Answers[7] == UserAnswers[7]) 
{count0 = count0 + 1, document.quiz.ebox8.value=" "} 
else 
{count0 = count0, document.quiz.ebox8.value="X"} 

if (Answers[8] == UserAnswers[8]) 
{count0 = count0 + 1, document.quiz.ebox9.value=" "} 
else 
{count0 = count0, document.quiz.ebox9.value="X"} 

if (Answers[9] == UserAnswers[9]) 
{count0 = count0 + 1, document.quiz.ebox10.value=" "} 
else 
{count0 = count0, document.quiz.ebox10.value="X"} 

document.quiz.number_correct.value = count0 


} 

</script> 
</head> 
<body> 

<h1> 
Self-Correcting and Grading Fill-ins</h1> 

<p>Directions.&nbsp; Fill in the blanks in the sentences below with the 
appropriate vocabulary words from the box below.&nbsp; Note there are 
five 
extra words.&nbsp; After filling it in, click the "Grade it" button. The button "Get answer key" opens a new 
window, 
where all the answers are listed. 
<br>&nbsp; 
<center><table COLS=3 WIDTH="75%" > 
<tr> 
<td>Principle of Equal Liberty Rights</td> 

<td>Intent based Utilitarianism</td> 

<td>Capitalist</td> 
</tr> 

<tr> 
<td>Stage 2</td> 

<td>Contractual</td> 

<td>Rawls</td> 
</tr> 

<tr> 
<td>Deontological</td> 

<td>Legal</td> 

<td>Universalizable</td> 
</tr> 

<tr> 
<td>Veil of Ignorance</td> 

<td>Utilitarianism</td> 

<td>Libertarian Justice</td> 
</tr> 

<tr> 
<td>Stage 3</td> 

<td>Kant</td> 

<td>Socialist</td> </tr> 


<td>&nbsp;</td> 
</tr> 
</table></center> 

<p><form NAME="quiz"><input name="ebox1" type="text" size="1"><b>#1: Which writer was a major proponent of the theory of Justice as Fairness?</b><input name="q1" type="text" size="25"> 

<p><input name="ebox2" type="text" size="1"><b>#2: A decision focused on outcome or consequences that emphasizes the greatest good for the greatest number&nbsp;</b><input name="q2" type="text" size="25"> 

<p><input name="ebox3" type="text" size="1"><b>#3: An approach that focuses on “universal ethical principles” 

&nbsp;<input name="q3" type="text" size="25"></b> 

<p><input name="ebox4" type="text" size="1"><b>#4: Which justice is criticised for providing a disincentive to contribute, since we’ll all get the same benefits no matter what (free rider problem)? 
&nbsp;<input 
name="q4" type="text" size="25"></b> 

<p><input name="ebox5" type="text" size="1"><b>#5 Limited rights and duties that arise when individuals enter into agreements with one another. 
<input 
name="q5" type="text" size="25"></b> 

<p><input name="ebox6" type="text" size="1"><b>#6 The point of this is to remove personal bias from the choice of principles. 
    &nbsp;<input name="q6" type="text" size="25"></b> 

<p><input name="ebox7" type="text" size="1"><b>#7 Reason for doing the right thing is to gain rewards (i.e., right actions are “instruments” for satisfying one’s own needs) is which stage of the Moral Cognitive Development Model? 
<input 
name="q7" type="text" size="25"></b> 

<p><input name="ebox8" type="text" size="1"><b>#8 If you genuinely tried your best to maximize utility, you’ve done the right thing, even if it turns out in the end that utility wasn’t maximized is 
&nbsp;<input name="q8" type="text" size="25"></b> 

<p><input name="ebox9" type="text" size="1"><b>#9:The people who have them, earn them, or are freely given them describes which justice? 
<input 
name="q9" type="text" size="25"></b> 

<p><input name="ebox10" type="text" size="1"><b>#10: Reversible, universalizable 
and treating stakeholders as an end unto themselves and does not use them only as a means to an end is part of which theory? 
<input name="q10" type="text" size="25"></b> 

<p><input TYPE="button" VALUE="Grade Me" onClick="Gradeit()"><input 
type="reset" Value="Clear All Answers"><br> 

<b>You got&nbsp;<input name="number_correct" type="text" 
size="4">correct out of 10. Try questions marked with the "X" again, and click the button to have your answers checked again.</b> 
</form> 
</body> enter code here 
</html> 

Помимо ответов на вопросы пользователей, не чувствительных к регистру, любая идея о том, как поставить зеленую отметку, когда пользователь имеет правильный ответ? В настоящее время он свободен, если пользователь прав. Поэтому мне нужно что-то, что показывает зеленый галочку для правильных ответов и красный крест за неправильные ответы.Как сделать ответы пользователей на вопросы, не чувствительные к регистру?

ответ

1

I Javascript вы можете преобразовать любую строку в нижний регистр с

"string".toLowerCase() 

Или в случае переменной:

variable.toLowerCase() 

Этот метод делает его гораздо проще сделать сравнение, так как буквы станут в Нижнем регистре. Надеюсь, это то, о чем вы просили. Зеленые отметки, так как вы также хотели узнать, как решить проблему добавления/удаления контента из объектной модели документа. Один из способов - отобразить изображение, а затем изменить источник изображения на метку проверки или «х» на основе ответа. Например:

if(true) { //if the answer is correct 
    document.getElementById('image').src = 'check.png'; 
} else { 
    document.getElementById('image').src = 'wrong.png'; 
} 
+0

Как включить это в свой код? – Jason

0

Чтобы включить ответ Gwiddle, вы должны были бы иметь изображение рядом с каждым ответом, его везде, где вы хотите быть. Тем не менее, вы должны сначала дать ему никакого источника, и дать ему идентификатор «markbox0» или аналогичный

<img src="" id="markbox0" alt="mark"> 

Теперь вы сможете изменить источник Laster изображения в коде, как показано на Gwiddle с помощью

document.getElementById('markbox').src = 'check.png'; 

Кроме того, в качестве общего кодирования наконечника, если вы выполняете подобный набор кода для длинного списка элементов, часто бывает гораздо проще использовать цикл, а не выписывая каждый один. Это было бы особенно полезно, если бы вы хотели добавить больше вопросов на свою страницу. Простой цикл «for» будет экономить много места и писать. В этом случае вы используете переменную, которая подсчитывает каждый раз при запуске кода цикла, позволяя вам пройти через длинный список вещей. Например, ваш ответ код проверки может быть достигнуто:

for (var i = 0; i <= Answers.length; i = i + 1){ 
    if (Answers[i] == UserAnswers[i]) 
     {count0 = count0 + 1; 
     document.getElementById('markbox' + String(i)).src = 'check.png';} 
    else 
     {count0 = count0; 
     document.getElementById('markbox' + String(i)).src = 'cross.png';} 
} 

Этот цикл выполняется код с «я» как число, за количество раз, что есть элементы в списке ответов. Значение i начинается с 0 и увеличивается на 1 при каждом запуске цикла. В первый раз он будет сравнивать ответы [0] с UserAnswers [0] и определить источник изображения с идентификатором 'markbox0', а затем снова с 1 и так далее.

Надеюсь, что вам поможет.