Veröffentlicht 14. Januar 200718 j 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>
14. Januar 200718 j JavaScript ist zwar nicht Java, aber bitte: if(document.forms["f1"].elements["r1"].checked()) alert ("R1 checked");
14. Januar 200718 j 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>
14. Januar 200718 j 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.
14. Januar 200718 j 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>
14. Januar 200718 j 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.
15. Januar 200718 j 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.
16. Januar 200718 j <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
16. Januar 200718 j 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
18. Januar 200718 j 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.