Beim Rechenduell soll das unterbunden werden. Hier wird eine Aufgabe erstellt und zwei Kandidaten ausgelost. Hier soll das Ergebnis erst übermittelt werden, wenn auf den Namen eines/r Duellanten/in geklickt wird. Die Anzeige sieht zurzeit noch so aus:

Oben im Eingabefenster wird der vom schnellsten Kandidaten angegebene Wert eingegeben, und dann erst beim Klick auf den entsprechenden Namen ausgewertet. Wenn die Eingabe richtig ist, bekommt er/sie einen Punkt, wenn nicht einen halben Punkt Abzug. Ich muss also das Eingabefeld auslesen und die ID des/der Kandidaten/in übergeben. Der entsprechende Ausschnitt des Templates sieht so aus:
Code: Alles auswählen
...
<form action="{% url 'duell_kontrolle' gruppe_id kategorie.slug %}" method="post">
{% csrf_token %}
<fieldset>
{{frage}}
{{form.eingabe}}
{{einheit}}
<p></p>
<table>
<table>
<tr>
<td><input type="submit" id="Eins" name = "duellant" value={{duellant_1.name}} class = {{duellant_1.liga}} ></td>
<td>{{duellant_1.punkte_spiel}}</td>
...
</tr>
<tr>
<td><input type="submit" value="gleich schnell" style = "background-color: #FFDEAD;"></td></tr>
<tr>
<td><input type="submit" id="Zwei" name = "duellant" value={{duellant_2.name}} class = {{duellant_2.liga}} ></td>
<td>{{duellant_2.punkte_spiel}}</td>
...
</tr>
</table>
</table>
</fieldset>
</form>
<script>
document.getElementById('eingabe').addEventListener('keypress', function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
</script>
<p></p>
<table>
<tr><td>
<button type="button">
<a style= "font-weight: bold;" href="{% url 'duell_aufgabe' gruppe_id kategorie.slug %}">nächste Aufgabe</a>
</button>
</td>
<td style ="background-color: #FFB5C5;">Zeit</td>
<td>
<button type="button">
<a href="{% url 'duell_uebersicht' gruppe_id %}">Abbrechen</a>
</button>
</td></tr>
...
</table>