Zum Inhalt springen

Programmierungsproblem


David F.

Empfohlene Beiträge

Hallo

Ichb bin totaler Anfänger auf dem Gebiet der programmierung. und stelle zu Beginn mal eine für Profis einfache Aufgabe ins Netz, wo ich nicht weiterkomme.

Beim Betätigen des Buttons soll die Reaktion: "Das ist leider falsch!", bzw. "Gratuliere, das ist richtig!", sein. Ist noch kein Radio-Button ausgewählt, soll die Meldung "Bitte auswählen" erscheinen.

Hier mein anfang es klappt bloß nicht so ganz.

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Neue Seite 1</title>

</head>

<body>

<script language="javascript">

function auswertung(){

if ('f1.elements[name=r1].checked') alert('falsch')

if('f1.elements[0].checked') alert('falsch')

if('f1.elements[0].checked') alert('richtig')

} </script>

</body>Intelligenztest

<br><br>

Welches ist das Element mit der Ordnungszahl 54?

<br><br>

<form="f1">

<input type="radio" name="r1" checked> Argon

<input type="radio" name="r2"> Xenon

<input type="radio" name="r3"> Natrium <br><br>

</form>

<input type="button" value="Bitte klicken Sie hier" onclick="auswertung()">

</html>

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke erstmal

und da gehts bei mir schon los. ich habs kopiert.

so aber es geht irgendendwie nicht. es sind immer alle radio buttons angeklickt . und und wenn ich auf den button klicke kommt objekt nicht vorhanden oder so.

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Neue Seite 1</title>

</head>

<body>

<script language="javascript">

function auswertung(){

if(document.forms["f1"].elements["r1"].checked()) alert ("R1 checked");

} </script>

</body>Intelligenztest

<br><br>

Welches ist das Element mit der Ordnungszahl 54?

<br><br>

<form="f1">

<input type="radio" name="r1" checked> Argon

<input type="radio" name="r2"> Xenon

<input type="radio" name="r3"> Natrium <br><br>

</form>

<input type="button" value="Bitte klicken Sie hier" onclick="auswertung()">

</html>

Link zu diesem Kommentar
Auf anderen Seiten teilen

2 Fehler die Du beseitigen mußt. Einer von mir, einer von Dir. Den von mir verrat' ich Dir: es heißt nicht

document.forms["f1"].elements["r1"].checked()
sondern
document.forms["f1"].elements["r1"].checked

Für Deinen Fehler ein Tipp: Schlag' mal bei SelfHTML nach, wie Formulare definiert werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habs nochmal geändert. und name="" vergessen

Es kommt noch die Fehler meldung

Zeile 25 Objekt erwartet. Weiß nicht was ich da noch falsch gemacht habe.

vielleicht ist die Funktion falsch.

Und noch was. Wenn ich mehrere Radio Buttons anklicke, dann ist jeder angeklickt, eigentlich dürfte das doch nur einer sein.??

P.S. ich weiß ich versteh nichts davon ,das ist für mich neuland.

und wie kann ich das machen, wenn da stehen soll, wenn noch kein button angeklickt ist, "bitte auswählen".??

Danke scgonmal für die Hilfe.

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Neue Seite 1</title>

</head>

<body>

<script language="SavaScript">

function auswertung(){

if(document.forms["f1"].elements["r1"].checked else window.alert("falsch");

if(document.forms["f1"].elements["r2"].checked else window.alert(tt");

if(document.forms["f1"].elements["r3"].checked else window.alert("falth");

} </script>

</body>Intelligenztest

<br><br>

Welches ist das Element mit der Ordnungszahl 54?

<br><br>

<form name="f1">

<input type="radio" name="r1" checked> Argon

<input type="radio" name="r2"> Xenon

<input type="radio" name="r3"> Natrium <br><br>

<input type="button" value="Bitte klicken Sie hier" onclick="auswertung()">

</form>

</html>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich will Dir ja nicht zu nahe treten. Aber Du sagst es ja selbst: Das ist alles Neuland für Dich. Aber warum ziehst Du nicht die logische Konsequenz und liest ein gutes Tutorial? Dir zu erklären, warum das und jenes nicht geht und Dich in die Künste des Programmierens einzuweihen, sprengt einfach den Rahmen.

Zu Deinem Problem:

Wieso machst Du aus

if(document.forms["f1"].elements["r1"].checked) alert ("R1 checked");
das hier:
if(document.forms["f1"].elements["r1"].checked else window.alert("falsch");
??? Da Du mit
<input type="radio" name="r1" checked>
Argon schon auswählst, mußt Du gar nicht prüfen, ob kein Radio-Button gewählt wurde. Das geht dann doch nicht mehr?!? Und warum bei Dir alle Radiobuttons markierbar sind, hängt daran, daß sie nach Deinem Code nicht zusammengehören. Du mußt sie gruppieren:
<input type="radio" name="Zahlmethode" value="Mastercard"> Mastercard<br>

<input type="radio" name="Zahlmethode" value="Visa"> Visa<br>

<input type="radio" name="Zahlmethode" value="AmericanExpress"> American Express

Da diese Buttons den gleichen "name"n haben, sind sie gruppiert.

BTW: Bitte nutze die CODE-Tags.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Newlukai, wenn die Elemente den gleichen Namen haben, dann kann er mit deinem JavaScript-Teil nicht mehr viel anfangen, da alle Elemente den gleichen Namen besitzen.

Dann müsste das doch eher so aussehen (ungetestet):

if(document.form["formname"].elements["elementname"][0].checked) {

...

}

Das sollte prüfen ob der erste Radio-Button gechecked wurde.

Link zu diesem Kommentar
Auf anderen Seiten teilen

<script language="javascript">

Auch als totaler Anfänger sollte man nicht falsch anfangen (müssen). Das oben ist IE, nicht HTML ;)

Richtig ist:


<script type="text/javascript">

...

Außerdem fehlt deiner Seite der DTD:

SELFHTML: HTML/XHTML / Allgemeine Regeln für HTML / Grundgerüst einer HTML-Datei

Das nur mal als Anmerkung :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Auch als totaler Anfänger sollte man nicht falsch anfangen (müssen). Das oben ist IE, nicht HTML ;)

Richtig ist:


<script type="text/javascript">

...

Außerdem fehlt deiner Seite der DTD:

SELFHTML: HTML/XHTML / Allgemeine Regeln für HTML / Grundgerüst einer HTML-Datei

Das nur mal als Anmerkung :)

Du wirfst ja mit beriffen um dir. ihr macht die sache ja schwieriger als sie ist.

und mit html kann das auch gehen. so hab ichs jedenfalls gelernt

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du wirfst ja mit beriffen um dir. ihr macht die sache ja schwieriger als sie ist.

Ein DTD ist ja nicht schwierig... und ich hab mit dem Begriff nicht nur um mich geworfen, sondern im Link hintendrann direkt ne Erklärung geliefert...

Ja, eben, mit HTML. Was du da stehen hast ist aber kein HTML (bzw. nicht korrektes HTML).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...