Moin.
Falls Du Dein Problem nicht schn selbst gelöst bekommen hast, die mal ein Wink mit dem Zaunpfahl:
<html>
<head>
<title>Meine Hobbys (Part II)</title>
</head>
<body>
<h1>Meine Hobbies sind...</h1>
<form name="frm">
<input type="checkbox" name="hobby1" value="Musik"> Musik <br>
<input type="checkbox" name="hobby2" value="Computer"> Computer <br>
<input type="checkbox" name="hobby3" value="Mathe"> Mathematik <br>
<input type="checkbox" name="hobby4" value="Lesen"> Lesen <br>
<input id="sport" type="checkbox" name="hobby5" value="Sport"> Sport <br>
<input type="checkbox" name="hobby6" value="Handball" onklick="check(this,'sport')"> Handball <br>
^^^^^^
Das Attribut heißt 'onclick'!
<br>
<input type="button" value="Zeige Hobbys..." onClick="auswertung()">
</form>
<script language="JavaScript">
<!--
function auswertung()
{
eingabe=""
Dafür hat man Schleifen erfunden:
if (document.frm.hobby1.checked)
{
eingabe += "Musik \n";
}
[...]
if (document.frm.hobby5.checked)
{
eingabe += "Sport \n";
}
if (document.frm.hobby6.checked)
{
eingabe += "Handball \nSport ";
dannAuchSport();
}
Das kann man ersetzen durch
for(var i = 1; i <= 6; ++i) {
var el = document.frm['hobby'+i];
if(el.checked) {
if(i == 6) dannAuchSport();
eingabe += el.value + '\n';
}
}
alert(eingabe);
}
function dannAuchSport()
{
alert("Wenn Ihr Hobby Handball ist, dann auch Sport!");
}
function check(element, id)
{
var other = document.getElementById(id);
if (typeof(other) == 'object')
{
other.checked = element.checked;
^^^^^^^^^^^^^^
hier brauchst du
if(element.checked) other.checked = true;
sonst wird auch 'Sport' immer deselektiert, wenn 'Handball' deselektiert wird!
}
}
//-->
</script>
</body>
</html>
Ansonsten gehört language="JavaScript" in die Tonne und durch type="text/javascript" ersetzt. Die Kommentare um das Skript kann man sich übrigens auch sparen...
Christoph