Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Programmierungsproblem

Empfohlene Antworten

Veröffentlicht

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>

JavaScript ist zwar nicht Java, aber bitte:

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

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>

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.

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>

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.

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.

Stimmt. Hab' ich vergessen.

<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 :)

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

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).

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.