Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. //button für späteren Vergleich der Antworten und Lösungen erstellt
  2. var button = document.createElement("input");
  3. var buttonType = document.createAttribute("type");
  4. buttonType.value = "submit";
  5. var buttonValue = document.createAttribute("value");
  6. buttonValue.value = "Auswerten";
  7. var buttonID = document.createAttribute("id");
  8. buttonID.value = "sub";
  9. button.setAttributeNode(buttonID);
  10. button.setAttributeNode(buttonType);
  11. button.setAttributeNode(buttonValue);
  12. document.body.appendChild(button);
  13. var button2 = document.getElementById("sub");
  14. button2.addEventListener("click", function() {
  15. let correctAnswers = 0,
  16. totalAnswers = 0;
  17.  
  18. // Durch jede Frage iterieren
  19. for (let i = 0; i < jsonObj.length; i++) {
  20. // Das <div> im DOM basierend auf dem Index der Frage auswählen
  21. let domObject = document.querySelectorAll('div[class="div"]')[i];
  22.  
  23. // Fragen mit <select>
  24. if (jsonObj[i].type === 'selectable'){
  25. // Wenn die Value der Lösung gleicht, richtig
  26. if (jsonObj[i].answerList[jsonObj[i].solution[0]] === domObject.querySelector('select').value){
  27. domObject.style = 'border-color: green';
  28. domObject.querySelector('p.kursiv').style = 'color: green';
  29. correctAnswers++;
  30. }else{
  31. domObject.style = 'border-color: red';
  32. domObject.querySelector('p.kursiv').style = 'color: red';
  33. }
  34. // Fragen mit <input type="checkbox"> oder <input type="radio">
  35. }else if (jsonObj[i].type === 'checkbox' || jsonObj[i].type === 'singleSolution'){
  36. // Wie viele Fragen richtig sein müssen
  37. let mustTrue = jsonObj[i].solution.length;
  38.  
  39. // Durch jede Antwortmöglichkeit iterieren
  40. domObject.querySelectorAll('form input').forEach((key, index) => {
  41. // Schauen ob die Antwort in den Lösungen existiert und dazu angekreuzt ist
  42. if (key.checked && jsonObj[i].answerList[jsonObj[i].solution[index]]){
  43. // Dekrementieren, damit wir auf 0 kommen, wenn alles richtig ist
  44. mustTrue--;
  45. }
  46. });
  47.  
  48. // Es muss 0 sein, damit alles als richtig angesehen wird
  49. if (mustTrue === 0){
  50. domObject.style = 'border-color: green';
  51. domObject.querySelector('p.kursiv').style = 'color: green';
  52. correctAnswers++;
  53. }else{
  54. domObject.style = 'border-color: red';
  55. domObject.querySelector('p.kursiv').style = 'color: red';
  56. }
  57. }
  58. }
  59.  
  60. totalAnswers = jsonObj.length;
  61.  
  62. alert(`Du hast ${correctAnswers} von ${totalAnswers} Fragen richtig!`);
  63. });
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement