Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //button für späteren Vergleich der Antworten und Lösungen erstellt
- var button = document.createElement("input");
- var buttonType = document.createAttribute("type");
- buttonType.value = "submit";
- var buttonValue = document.createAttribute("value");
- buttonValue.value = "Auswerten";
- var buttonID = document.createAttribute("id");
- buttonID.value = "sub";
- button.setAttributeNode(buttonID);
- button.setAttributeNode(buttonType);
- button.setAttributeNode(buttonValue);
- document.body.appendChild(button);
- var button2 = document.getElementById("sub");
- button2.addEventListener("click", function() {
- let correctAnswers = 0,
- totalAnswers = 0;
- // Durch jede Frage iterieren
- for (let i = 0; i < jsonObj.length; i++) {
- // Das <div> im DOM basierend auf dem Index der Frage auswählen
- let domObject = document.querySelectorAll('div[class="div"]')[i];
- // Fragen mit <select>
- if (jsonObj[i].type === 'selectable'){
- // Wenn die Value der Lösung gleicht, richtig
- if (jsonObj[i].answerList[jsonObj[i].solution[0]] === domObject.querySelector('select').value){
- domObject.style = 'border-color: green';
- domObject.querySelector('p.kursiv').style = 'color: green';
- correctAnswers++;
- }else{
- domObject.style = 'border-color: red';
- domObject.querySelector('p.kursiv').style = 'color: red';
- }
- // Fragen mit <input type="checkbox"> oder <input type="radio">
- }else if (jsonObj[i].type === 'checkbox' || jsonObj[i].type === 'singleSolution'){
- // Wie viele Fragen richtig sein müssen
- let mustTrue = jsonObj[i].solution.length;
- // Durch jede Antwortmöglichkeit iterieren
- domObject.querySelectorAll('form input').forEach((key, index) => {
- // Schauen ob die Antwort in den Lösungen existiert und dazu angekreuzt ist
- if (key.checked && jsonObj[i].answerList[jsonObj[i].solution[index]]){
- // Dekrementieren, damit wir auf 0 kommen, wenn alles richtig ist
- mustTrue--;
- }
- });
- // Es muss 0 sein, damit alles als richtig angesehen wird
- if (mustTrue === 0){
- domObject.style = 'border-color: green';
- domObject.querySelector('p.kursiv').style = 'color: green';
- correctAnswers++;
- }else{
- domObject.style = 'border-color: red';
- domObject.querySelector('p.kursiv').style = 'color: red';
- }
- }
- }
- totalAnswers = jsonObj.length;
- alert(`Du hast ${correctAnswers} von ${totalAnswers} Fragen richtig!`);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement