Javascript Quiz: Mehrere Antworten gelten lassen?
loIch hätte die Frage, mit welchem Satzzeichen oder sonst irgendwas man die Antwortanzahlen, also, dass mehrere Antwortmöglichkeiten, also mit groß- und Kleinschreibung und "Mio" und "Millionen", erhöhen kann.
Ich würde mich über eine schnelle Antwort freuen ^^
LG Arne
PS: Hier kommen noch ein ein paar Bilder
<div class="team-anzeige"> <h1>Team <p id="team"></p> ist an der Reihe:</h1> <br> <br> <button onclick="btnLos()" id="los" class="los">Los !</button> <br> <h2 id="div2"></h2> <br> <br> <input id="input" type="text" placeholder="Hier Antwort eintragen"> <br> <br> <button onclick="absendeBtn()" class="absenden" id="absenden">Absenden</button> </div> <script src="main.js"></script>v
<div class="team-anzeige">
<h1>Team <p id="team"></p> ist an der Reihe:</h1>
<br>
<br>
<button onclick="btnLos()" id="los" class="los">Los !</button>
<br>
<h2 id="div2"></h2>
<br>
<br>
<input id="input" type="text" placeholder="Hier Antwort eintragen">
<br>
<br>
<button onclick="absendeBtn()" class="absenden" id="absenden">Absenden</button>
</div>
<script src="main.js"></script>
var team = document.getElementById("team");
var team = document.getElementById("team");
var los = document.getElementById("los");
var absenden = document.getElementById("absenden");
function btnLos() {
team.innerHTML = "Lehrer";
input.style.visibility = "visible";
los.style.display = "none";
absenden.style.visibility = "visible";
zufallsfrage = fragen[id];
document.getElementById("div2").innerHTML = zufallsfrage.frage;
}
function absendeBtn() {
var input = document.getElementById("input").value;
if (input == zufallsfrage.antwort) {
alert("Richtig");
} else if (input == "") {
alert("Antwort muss erst eingetragen werden");
} else {
alert("Leider falsch");
}
}
var zufallsgenerator = Math.floor (Math.random() * 1);
const fragen = [];
fragen[0]= {frage: "WIe viel Euro verdient Harry Kane in einem Jahr?", antwort: ["13 Mio", "13 mio", "13 Millionen", "13 millionen", "13millionen", "13Millionen", "13Mio", "13mio"]};
fragen[1]= {frage: "Die Hauptstadt von Finnland ist...?", antwort: "Helsinki"};
fragen[2]= {frage: "Welche Gürtelfarbe existiert nicht im Kampfsport Karate: Rot, Gelb, Orange oder Weiß?", antwort: "Rot"};
fragen[3]= {frage: "Der Nachname des berühmten Sängers der Beatles: John...?", antwort: "Lennon"};
fragen[4]= {frage: "Welche Farbe hat der Punkt auf der japanischen Flagge?", antwort: "Rot"};
var id = Math.floor (Math.random() * fragen.length;
Also du willst alle Antworten die in der antwort Liste stehen erlauben...?
Exakt
Kannst du den Code bitte in einem Codeblock posten und nicht als Bildschirm Fotos? Man kann nur sehr schwer etwas erkennen. Genau dafür sind Codeblöcke da
Ok ich versuche es
3 Antworten
Du kannst ja den | (senkrechter Strich) als Trenner nutzen.
Dann lässt du per Explode ein Array aus den Antworten für die aktuelle Frage erzeugen.
Sobald die Antwort eingegeben wurde, prüfst Du, ob die Antwort im Array ist.
const alligator = ["thick scales", 80, "4 foot tail", "rounded snout"];
alligator.indexOf("rounded snout"); // returns 3
Zu den Millionen kann ich nur sagen, leg dich bei der Antwort lieber auf die Zahl selbst fest, also sprich 13000000 statt da mit verschiedenen Formen vom Wort Millionen zu arbeiten.
Damit alle Antworten sowohl mit verschiedene Groß- und Kleinschreibung zählen, kannst du oben bei der Abfrage, ob input richtig ist, "input.toLowerCase()" verwenden und unten bei den Antwortmöglichkeiten alles klein schreiben.
Dadurch wird das, was der User oben als Antwort abgegeben hat, automatisch komplett kleingeschrieben.
Dankeschön für eure Tipps.
Ich werde es ausprobieren.
LG Arne ^^