Hallo,
Da mich die Aufgabenstellung selbst interessiert hat, habe ich auch ein wenig an deinem Script herumgebastelt. Dabei ist mir aufgefallen, dass dein Script ein ein paar Schwächen hat, die nicht gleich ins Auge springen. 1) Wenn man CD und Entwickelt wählt, dann wird beim Absenden nur der Wert Entwickelt mitgeschickt. 2) Wenn man erst eines der Formate ausgewählt hat und sich dann doch umentschieden hat und kein Entwickelt zu bestellen (man also beide Checkbox deaktiviert) dann wird dennoch das Format beim Absenden mitgeschickt. 3) Wenn man es mit der Tastatur bedient dann funktioniert es unter Umständen nicht. Außerdem wollte ich das gekapselt haben, so dass mehrere Formulare auf der gleichen Seite das Script gleichzeitig nutzen können, es also unabhängig vom Namen das Formulars ist. Das ist hierbei herausgekommen:
<html>
<head>
<title>Formular Test</title>
<script type="text/javascript">
[code lang=javascript] function formate(tag) {
while(tag.nodeName != 'FORM') tag = tag.parentNode;
if(tag.Entwickelt.checked) var deaktiviert = false;
else var deaktiviert = true;
for (var i=0; i < tag.Format.length; i++) {
tag.Format[i].disabled = deaktiviert;
if(deaktiviert) tag.Format[i].checked = false;
}
}
</script>
</head>
<body>
<form action="" name="Testform">
<fieldset>
<legend>Wie möchten Sie die Fotos erhalten?</legend>
<p>
<label><input type="checkbox" name="CD" value="true"> CD</label>
<label><input type="checkbox" name="Entwickelt" value="true" onchange="formate(this);"> Entwickelt</label>
</p>
<p>
In welchem Format?
<label><input type="radio" name="Format" value="9x13" disabled> 9x13</label>
<label><input type="radio" name="Format" value="10x15" disabled> 10x15</label>
<label><input type="radio" name="Format" value="13x18" disabled> 13x18</label>
</p>
</fieldset>
</form>
</body>
</html>[/code]
Grüße
Jeena Paradies