Robert B.: Fehlerhafter Code

Beitrag lesen

Moin Patrick,

im nachfolgenden Code ist irgendwo ein Fehler, da sich das Fenster nicht öffnet.

vorab: welches Fenster? Da wird nirgends eines geöffnet. Ein Prompt ist ein eben solcher und nicht zwingend ein neues Fenster. Dafür wird diese Methode aber anders als in Deinem Code ausgerufen, worauf Rolf ja schon hingewiesen hat.

Ansonsten:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

In HTML5 kannst Du den Charset auch kürzer und möchtest Du für die Zugänglichkeit den Viewport angeben:

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript">

In HTML5 ist text/javascript Default und kann weggelassen werden.

function schreibwas () {
var eingabe = parseInt(prompt)("Na,wie schnell waren Sie denn?","");
document.getElementById("ergebnis").innerHTML = eingabe;

Die Sache mit prompt haben wir ja schon.

Die Referenz von eingabe wird später nicht mehr geändert, daher kann es statt var auch const sein. Es gibt allerdings keine Fehlerprüfung für parseInt – und da das Ergebnis auf jeden Fall kein HTML ist, reicht die Zuweisung an innerText vollkommen aus.

Apropos: Da das Element mit der ID „Ergebnis“ anscheinend Dein Ausgabefeld ist, kannst Du es einmal aus dem DOM ermitteln und dann in jedem einzelnen Anwendungsfall darauf zugreifen:

const ausgabe = document.getElementById("ergebnis");

// später im Code:
ausgabe.innerText =;

Das sind natürlich auch konstante Referenzen:

var antwort1 = 100;
var antwort2 = 150;
var antwort3 = 200;

Das ist natürlich kein Link, sondern ein Button!

<p><a href="#" onClick="schreibwas()">Blitzchecker</a></p>

Andererseits kannst Du statt des Prompts auch direkt ein Formular verwenden und der Button triggert dann die Überprüfung. Damit brauchst Du auch den Eingabewert nicht noch einmal wiederzugeben, weil er immer noch auf der Seite steht.

<div id="fragebox">
<div id="fragenr"></div>
<div id="ergebnis"></div>
</div>

Ein div hat keine inhaltliche Bedeutung, aber es sieht eher nach einer Bedeutung aus; vielleicht ist eine section oder etwas Anderes passender. Das Ergebnis ist jedenfalls semantisch ein Absatz oder eine Ausgabe.

Viele Grüße
Robert