inspiron: Radio und Textarea werden bei Fehler wieder disabled

Beitrag lesen

Hallo,
ich habe da ein kleines Problem.
Wenn die Checkbox aktiviert wird, werden Radio und Textarea ent"disabled" ;)
Tritt beim Submit, der Überprüfung, ein Fehler auf, werden Radio und Textarea wieder "disabled" obwohl die Checkbox noch aktiv ist.
Versuch:
Was ich schon hinbekommen habe, nach betätigen des Submitbutton wir abgefragt ob Checkbox enable oder disable ist. Bei enable müsste jetzt "style.backgroundColor = "#ffffff";" reinkommen.
Wie schreibe ich das?

Gruß

  
<?php header ('Content-Type: text/html; charset=utf-8');  
error_reporting(E_ALL);  
//-----------------------------------------------  
  
/* Fehlerauswertung  */  
  
$errorFelder = array();  
$error = null;  
$felder = array("beschreibung");  
  
  
// start Überpruefung der Eingabe  
if(isset($_POST['ueberpruefung'])) {  
  $error = false;  
  
  
  foreach($felder as $feld) {  
    if("" ==($_POST[$feld]) or "*" ==($_POST[$feld]) or "Bitte auswählen!" ==($_POST[$feld])) {  
      $error = true;  
      $errorFelder[$feld] = true;  
    }  
  }  
}if($error === false) {  
  
echo "<b>Alles i.O.!</b>";  
  
} else {  
  
  if($error === true)  
  echo "<b>Bitte alle Felder ausf&uuml;llen!</b>";  
?>  
  
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
<head>  
  <meta http-equiv="X-UA-Compatible" content="IE=8" />  
  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>  
  <title>test</title>  
  
<style type="text/css">  
  
textarea {  
    width: 200px;  
    height: 50px;  
    background-color: #f3f8fb;  
}  
  
</style>  
<script type="text/javascript">  
function DoTheCheck() {  
	if(document.myform.check1.checked == true)  
           document.myform.......style.backgroundColor  
	{ alert('box1 ist aktiviert'); }  
	  
	if(document.myform.check1.checked == false)  
	{ alert('box1 ist deaktiviert'); }  
}  
  
function gesperrt(chk){  
var felder = new Array('radio1', 'radio2', 'beschreibung');  
var i;  
if(document.getElementById){  
for (i=0; i<felder.length; i++)  
        if(chk){  
            document.getElementById(felder[i]).style.backgroundColor = "#ffffff";  
            document.getElementById(felder[i]).disabled = false;  
        }  
        else {  
            document.getElementById(felder[i]).style.backgroundColor = "#f3f8fb";  
            document.getElementById(felder[i]).disabled = true;  
        }  
    }  
}  
</script>  
  
</head>  
<body>  
<form name="myform" method="post" accept-charset="utf-8" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>">  
  
<!-- Element 1 -->  
<input type="checkbox" name="check1" id="check1" onclick="gesperrt(this.checked)" value="ON" <?php if(isset($error) and $_POST['check1'] == "ON") {echo "checked";} ?> />  
  
<!-- Element 2 -->  
<label for="radio1">Ja  
<input type="radio" name="radio" id="radio1" value="JA" disabled='disabled'/>  
</label>  
  
<!-- Element 3 -->  
<label for="radio2">Nein  
<input type="radio" name="radio" id="radio2" value="NEIN" checked="checked" disabled='disabled'/>  
</label>  
  
<!-- Element 4 -->  
<textarea name="beschreibung" id="beschreibung" disabled='disabled'<?php if(isset($errorFelder['beschreibung'])) echo 'class="error"'; ?>><?php echo ($_POST['beschreibung']);?></textarea>  
  
<!-- UI Button -->  
<input type="hidden" name="ueberpruefung" value="1">  
<input type="submit" id="submitButton" name="submitButton" value="Speichern" onClick="DoTheCheck()" />  
  
</form>  
<?php  
 }  
?>  
</body>  
</html>