Button nach Eingabe deaktivieren
Hedo
- html
Hallo und einen schönen Abend,
ich habe bis jetzt stundenlang erfolglos gegoogelt.
Mein Quiz wird folgendermaßen ausgewertet:
<input type="button" class="button" value="Lösung anzeigen!" onClick='self.location="javascript:location.reload()"'>
Das klappt wunderbar.
Die Sache hat allerdings einen Haken. Nach erfolgter Ergebnisanzeige lassen sich die restlichen Radio.Buttons anklicken und das Ergebnis kann mit dem Button verbessert werden.
Ich möchte aber, das der Button nach der Eingabe deaktiviert wird und nur ein Neustarten des Quiz möglich ist.
Kann mir jemand helfen?
Schon jetzt einmal Dankeschön.
Mit freundlichen Grüßen Hedo
Grüße,
jein - u kannst zB cookies setzen - brauchst du dafür einen "vorgefertigten script" oder willst du selbsständig dazu lernen denn es gibt dazu ein schönes kapitel bei selfhtml?
MFG
bleicher
»»Danke für die Antwort,
ich habe zwar schon geantortet, aber diese ist scheinbar verschwunden.
Ich bin an beiden Sachen interessiert, am Script und am Lernen, dem ich immer aufgeschlossen gegenüberstehe.
Grüße Hedo
Grüße,
brauchst ein paar richtungsweiseungen oder geht's? bin aber ein laie >_<
MFG
bleicher
Mir geht es ebenso, auch ich bin ein armer Laie
Mit Gruß Hedo
Grüße,
auf cookies greift man mit
document.cookie=name + "=" + wert + "; expires="+dauer;
name, wert und dauer(ist "gültigkeit" in ms) haben als varibalen eingesetzt zu sein^^ sagen wir mal
im button hast du onClick="voted()"
function voted() {
document.cookie="voted=1; expires=9999999";
}
im body onLoad="votetest()"
function votetest() {
if (document.cookie!=""){
document.getElementById('votebutton').disabled
}
}
oder so^^ kp ob s funktioniert
MFG
bleicher
echo $begrüßung;
Mein Quiz wird folgendermaßen ausgewertet:
<input type="button" class="button" value="Lösung anzeigen!" onClick='self.location="javascript:location.reload()"'>
Beschreibe doch bitte in Worten, was du vorhast. Aus der Zeile ist das nicht richtig zu erkennen. Besonders der Teil im onclick ist recht verworren.
Ich möchte aber, das der Button nach der Eingabe deaktiviert wird und nur ein Neustarten des Quiz möglich ist.
Um Elemente unbedienbar zu machen, gibt es die HTML-Attribute disabled und readonly.
echo "$verabschiedung $name";
Hallo,
danke für den Hinweis.In der Tat habe ich hier etwas Falsches hineinkopiert. Der fragliche Teil muss richtig heißen:
onClick="checkForm();
versehentlich steht dort der Eintrag für den Neustart des Quiz.
Ich will mein Anliegen präzisieren:
Nach der Anzeige des Ergebnisses können einfach die richtigen Antworten mit den Radio-Buttons ausgewählt werden und das Ergebnis verbessert jedesmal.
Ich möchte aber, dass das Ergebnis nur einmal angezeigt werden kann. Dann muss das Quiz neu gestartet werden, um wieder Antworten eingeben zu können.
Bei diesem Problem sehe noch kein Land.
Mit freundlichen Grüßen
Hedo
echo $begrüßung;
Nach der Anzeige des Ergebnisses können einfach die richtigen Antworten mit den Radio-Buttons ausgewählt werden und das Ergebnis verbessert jedesmal.
Ich möchte aber, dass das Ergebnis nur einmal angezeigt werden kann. Dann muss das Quiz neu gestartet werden, um wieder Antworten eingeben zu können.
Egal, wie du es clientseitig zu lösen versuchst, dort kann es immer umgangen werden. Ich gehe einfach wieder zurück und beantworte die Frage neu. Setzt du mir einen Keks, der eine Frage als gelöst markiert, lösch ich den Keks. Schaltest du mir die Buttons aus, lösche ich das disabled- oder readonly-Attribut mit dem DOM-Inspector weg.
Besser wäre, die Ergebnisse einer beantworteten Frage serverseitig zu notieren, und dort eine Zweitbeantwortung einer Frage zu verhindern. Serverseitig kann man die Daten in einer Session ablegen.
echo "$verabschiedung $name";
Hallo und Danke,
das ist wirklich eine klasse Idee.
Für mich hat sie nur einen Haken, weil meine rudimentären Kenntnisse dazu nicht ausreichen.
Wie muss ich es anstellen, damit die Ergebnisse auf dem Server gespeichert sind und sie mit den wirklichen Ergebnissen verglichen werden können?
Ich bin für jede Hilfe dankbar und will gern was Neues dazu lernen.
Mit freundlichen Grüßen
Hedo