javascript mit php läuft nicht
mercedes
- php
Hallo, ich habe eine javascript-Funktion ins Formular eingefügt nun läuft das Formular nicht mehr. Wo muß ich dieses Script einfügen damit's läuft?
<script type='text/javascript'>
function readonly(chk) {
var felder = new Array('BESCHREIBUNG', 'MASSNAHME', 'VERMEIDUNG', 'ANMERKUNG');
var i;
for (i=0; i<felder.length; i++)
if(document.getElementById){
if(chk){
document.getElementById(felder[i]).style.backgroundColor = "red";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
}
else {
document.getElementById(felder[i]).style.backgroundColor = "#D3D3D3";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
}
}
}
</script>
...hier das fast Komplette!
<?php
//******************************************************************************
// Eingabeformular
//******************************************************************************
// Datenbankzugriff
include;
// Formulardaten einlesen (PHP und HTML Tags entfernen)
if (isset($_POST['eintragen']))
{
// Inhalte der Felder aus POST holen
$DATUM = $_POST['DATUM'];
$UHRZEIT = $_POST['UHRZEIT'];
$DAUER = $_POST['DAUER'];
$FEHLERKATEGORIE = $_POST['FEHLERKATEGORIE'];
$ON = $_POST['ON'];
$BESCHREIBUNG = $_POST['BESCHREIBUNG'];
$MASSNAHME = $_POST['MASSNAHME'];
$VERMEIDUNG = $_POST['VERMEIDUNG'];
$ANMERKUNG = $_POST['ANMERKUNG'];
$M_NAME = $_POST['M_NAME'];
$SCHICHT = $_POST['SCHICHT'];
$ORT = $_POST['ORT'];
// Anfrage zusammenstellen der an die DB geschickt werden soll
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
mysql_query( $sql );
// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
if (mysql_affected_rows() == 1)
{
$Ausgabe = "Der Datensatz wurde hinzugefügt!";
//echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";
// Hier kann weiterer Code stehen der ausgefuehrt werden soll
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
// der ueber den neuen Eintrag informiert
}
else
{
$Ausgabe = "Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!";
//echo "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
// Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
// wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
// damit er sich um den Fehler kuemmern kann, etc pp
}
}
//
function formatDateString($stamp) {
//initalise String:
//Gettting the months set up...
$monate = array(
1=>"Januar",
2=>"Februar",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
//Getting our Month
$monat = date("n", $stamp);
//Getting the Days set up....
//$tage = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
//Getting Day....
$tag = date("w", $stamp);
//$printme = $tage[$tag].", den ".date("d", $stamp).". ".$monate[$monat]." ".date("Y", $stamp);
$printme = date("d", $stamp).". ".$monate[$monat]." ".date("Y", $stamp);
return $printme;
}
// Konvertiert das deutsche Datum-Format in ein MySQL-Format
function date_german2mysql($date)
{
$d = explode(".",$date);
return sprintf("%04d-%02d-%02d", $d[2], $d[1], $d[0]);
}
?>
<!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">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Fehlerbericht</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">
<script type='text/javascript'>
function readonly(chk) {
var felder = new Array('BESCHREIBUNG', 'MASSNAHME', 'VERMEIDUNG', 'ANMERKUNG');
var i;
for (i=0; i<felder.length; i++)
if(document.getElementById){
if(chk){
document.getElementById(felder[i]).style.backgroundColor = "red";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
}
else {
document.getElementById(felder[i]).style.backgroundColor = "#D3D3D3";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
}
}
}
</script>
<body>
<div id="wrapper">
<div id="header">
<h1><a href="#">Fehlerbericht</a></h1>
<h2><a href="#"><img src="images/WP.png" width="160" height="42"></a></h2>
<h3><? print ($Ausgabe);?></h3>
<!-- <h4><? print formatDateString(date(time()));?></h4> -->
</div>
<div id="menu">
<ul>
<li><a href="index.php" accesskey="1" title="">Home</a></li>
<li class="active"><a href="demo.php" accesskey="2" title="">Demo</a></li>
<li><a href="#" accesskey="3" title="">MCR</a></li>
<li><a href="#" accesskey="4" title="">Service</a></li>
<li><a href="lesen_prod.php" accesskey="5" title="">Übersicht</a></li>
<li><a href="#" accesskey="6" title="">MORE</a></li>
<li><a href="login.php" accesskey="7" title="">224</a></li>
</ul>
</div>
<!-- INHALT -->
<div id="content">
<div id="colOne">
<div class='my_fieldset30_links'>
<h2>Datum</h2>
<input type="text" class="defbreite" name="DATUM" id="DATUM" value="<?php echo date("d.m.Y");?>">
</div>
<div class='my_fieldset30_mitte'>
<h2>Uhrzeit</h2>
<input type="text" class="defbreite" name="UHRZEIT" id="UHRZEIT">
</div>
<div class='my_fieldset30_rechts'>
<h2>Dauer in Min</h2>
<input type="text" class="defbreite" name="DAUER" id="DAUER">
</div>
<br>
<div class='my_fieldset30_mitte'>
<h2>Kategorie</h2>
<select class="defbreite" name="FEHLERKATEGORIE" id="FEHLERKATEGORIE">
<option selected value="">Bitte auswählen!</option>
<option >*</option>
<option value="i.O.">i.O.</option>
<option >*</option>
<option value="NC P">NC P</option>
<option value="Sona">Sona</option>
<option value="externe Quelle">externe Quelle</option>
<option value="Zeitabweichung von disponierter Zeit">Zeitabweichung DISPO</option>
<option value="Sonstiges">Sonstige</option>
</select>
</div>
<div class='my_fieldset30_rechts'>
<h2>Störung / ON</h2>
<br><input type="checkbox" id='klick' name="readonly" onClick="javascript:readonly(this.checked)" />
<span class="radio"><input type="radio" name="ON" id="ON_1" value="NEIN" checked="checked" />NEIN </span>
<span class="radio"><input type="radio" name="ON" id="ON_2" value="JA">Ja </span>
</div>
<br>
<div class='my_fieldset'>
<h2>Details</h2>
<textarea class="defbreite" rows="4" name="BESCHREIBUNG" id="BESCHREIBUNG" disabled='disabled'></textarea>
</div>
<br>
<div class='my_fieldset45_links'>
<h2>Ergriffene Maßnahmen</h2>
<textarea class="defbreite" rows="3" name="MASSNAHME" id="MASSNAHME" disabled='disabled'></textarea>
</div>
<div class='my_fieldset45_rechts'>
<h2>Maßnahmen zur Fehlervermeidung</h2>
<textarea class="defbreite" rows="3" name="VERMEIDUNG" id="VERMEIDUNG" disabled='disabled'></textarea>
</div>
<br>
<div class='my_fieldset'>
<h2>Bemerkung</h2>
<textarea class="defbreite" rows="3" name="ANMERKUNG" id="ANMERKUNG" disabled='disabled'></textarea>
</div>
<br>
</div>
<!-- /INHALT -->
<!-- INHALT Links -->
<div id="colTwo">
<div class='my_fieldset'>
<h2>Zuständiger MA</h2>
<select class="defbreite" name="M_NAME" id="M_NAME">
<?php //Beim Senden eines Formulars die gewählte Auswahl in der Auswahlliste beibehalten.
$array = array(1 => "Bitte auswählen! ", "vorname name", );
for ($a = 1; $a <= 2; $a++) {
echo " <option value=\"$array[$a]\"";
if ($_POST["M_NAME"] == $array[$a]) {
echo " selected";
}
else {
if ($_POST["M_NAME"] == "" && $a == 1) {
echo " selected";
}
}
echo ">$array[$a]</option>\n";
}
?>
</select>
</div>
<br>
<div class='my_fieldset'>
<h2>Schicht</h2>
<select class="defbreite" name="SCHICHT" id="SCHICHT">
<?php //Beim Senden eines Formulars die gewählte Auswahl in der Auswahlliste beibehalten.
$array = array(1 => "Bitte auswählen! ", "PP1.1", "PP1.2", "PP1.3", "*", "PP2.1", "PP2.2", "PP2.3", "*", "FW3.1", "FW3.2");
for ($a = 1; $a <= 11; $a++) {
echo " <option value=\"$array[$a]\"";
if ($_POST["SCHICHT"] == $array[$a]) {
echo " selected";
}
else {
if ($_POST["SCHICHT"] == "" && $a == 1) {
echo " selected";
}
}
echo ">$array[$a]</option>\n";
}
?>
</select>
</div>
<br>
<div class='my_fieldset'>
<h2>Standort</h2>
<select class="defbreite" name="ORT" id="ORT">
<?php //Beim Senden eines Formulars die gewählte Auswahl in der Auswahlliste beibehalten.
$array = array(1 => "Bitte auswählen! ", "PP", "Innen", "Außen");
for ($a = 1; $a <= 4; $a++) {
echo " <option value=\"$array[$a]\"";
if ($_POST["ORT"] == $array[$a]) {
echo " selected";
}
else {
if ($_POST["ORT"] == "" && $a == 1) {
echo " selected";
}
}
echo ">$array[$a]</option>\n";
}
?>
</select>
</div>
<br>
<div class="knopf">
<p><input class="submit" type="submit" name="eintragen" id="eintragen" value="Speichern"/></p>
<input class="submit" type="submit" value="email Senden"/>
</div>
<br>
</div>
<div style="clear: both;"> </div>
</div>
<!-- /INHALT Links -->
<div id="footer">
<p>2009</p>
</div>
</div>
</body>
</form>
</html>
Hallo,
ich habe eine javascript-Funktion ins Formular eingefügt nun läuft das Formular nicht mehr.
Was passiert den? Die Aussage ähnelt die meiner Freundin: "das Internet geht nicht mehr".
Wo muß ich dieses Script einfügen damit's läuft?
Nun, die stelle wo es ist, sieht recht gut aus. Erzeugt das Script eventuell ein Fehler? Es sieht für mich auf den ersten Blick etwas komisch aus.
Was passiert den? Die Aussage ähnelt die meiner Freundin: "das Internet geht nicht mehr".
...mhh, sorry.
Wo muß ich dieses Script einfügen damit's läuft?
Nun, die stelle wo es ist, sieht recht gut aus. Erzeugt das Script eventuell ein Fehler?
Ich habe noch mal getestet.
Also,
in meinem Testscript wird die "function readonly" ausgeführt. Füge ich die "function readonly" ins php Formular ein wird die "function readonly" nicht ausgeführt.
Nach der Ausschlußmethode habe ich folgende Zeile entfernt, dann gehts!
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">
Was ist daran denn falsch?
Gruß
Nach der Ausschlußmethode habe ich folgende Zeile entfernt, dann gehts!
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">
Was ist daran denn falsch?
Wahrscheinlich steht da halt was drin, das dein Formular kaputtmacht. Vergleich doch mal das HTML wenns nicht funktioniert mit dem wenns funktioniert. Und sags uns auch, vielleicht sieht dann jemand was los ist.
Nach der Ausschlußmethode habe ich folgende Zeile entfernt, dann gehts!
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">
Was ist daran denn falsch?
Wahrscheinlich steht da halt was drin, das dein Formular kaputtmacht. Vergleich doch mal das HTML wenns nicht funktioniert mit dem wenns funktioniert. Und sags uns auch, vielleicht sieht dann jemand was los ist.
Ich verstehe es nicht, nun habe ich das ganze mal bis auf die "function readonly" minimiert. Sobald sich darin <form action""> befindet, wird die Funktion nicht ausgeführt.
Das eigenartige ist, das betrifft nur die "function readonly" alles ander hat immer funktioniert. Ich wollte das Formular nur in der Eingabe optimieren.
Gruß
<!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">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Fehlerbericht</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<form action="" >
<script type='text/javascript'>
function readonly(chk) {
var felder = new Array('BESCHREIBUNG', 'MASSNAHME', 'VERMEIDUNG', 'ANMERKUNG');
var i;
for (i=0; i<felder.length; i++)
if(document.getElementById){
if(chk){
document.getElementById(felder[i]).style.backgroundColor = "#ffffff";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
}
else {
document.getElementById(felder[i]).style.backgroundColor = "#D3D3D3";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
}
}
}
</script>
<body>
<input type="checkbox" id='klick' name="readonly" onClick="javascript:readonly(this.checked)" /> <br /><br />
<textarea id='BESCHREIBUNG' disabled='disabled'>BESCHREIBUNG</textarea><br>
<textarea id='MASSNAHME' disabled='disabled'>MASSNAHME</textarea><br>
<textarea id='VERMEIDUNG' disabled='disabled'>VERMEIDUNG</textarea><br>
<textarea id='ANMERKUNG' disabled='disabled'>ANMERKUNG</textarea><br>
</form>
</body>
</html>
Hallo,
»» <!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">
> <head>
>
> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
> <meta http-equiv="Content-Script-Type" content="text/javascript">
> <title>Fehlerbericht</title>
> <meta name="keywords" content="" />
> <meta name="description" content="" />
> <link href="default.css" rel="stylesheet" type="text/css" />
> </head>
>
> <form action="" >
Huch, was ist das? Du beginnst ein Formular noch vor dem body?
»» <script type='text/javascript'>
»»
> function readonly(chk) {
> var felder = new Array('BESCHREIBUNG', 'MASSNAHME', 'VERMEIDUNG', 'ANMERKUNG');
> var i;
> for (i=0; i<felder.length; i++)
>
> if(document.getElementById){
> if(chk){
>
> document.getElementById(felder[i]).style.backgroundColor = "#ffffff";
> document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
> }
> else {
>
> document.getElementById(felder[i]).style.backgroundColor = "#D3D3D3";
> document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
> }
> }
> }
> </script>
»» <body>
Ach, und da kommt doch noch das öffnende body-Tag!
»» <input type="checkbox" id='klick' name="readonly" onClick="javascript:readonly(this.checked)" />
Das Label "javascript" ist innerhalb des Eventhandlers sinnlos, und das Attribut heißt nicht onClick, sondern onclick.
Ich denke, du solltest erstmal die groben Fehler im HTML korrigieren (in erster Linie die falsche Verschachtelung der Elemente), dann sehen wir weiter.
So long,
Martin
function readonly(chk) {
// Du lässt dir chk übergeben
if(chk){
// fragest es noch ab
document.getElementById(felder[i]).style.backgroundColor = "#ffffff";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
// Und holst es dir dann nocheinmal? True/False oder !chk würden es auch machen.
Ansonsten solltest du dich um die Dinge kümmern, die Martin angemerkt hat.
True/False oder !chk würden es auch machen.
...kannst Du mir das bitte genauer erklären, verstehe es nicht?
Ansonsten solltest du dich um die Dinge kümmern, die Martin angemerkt hat.
..habs geändert, ist das so i.O.?
<!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">
<head>
<title>Fehlerbericht</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
<script type='text/javascript'>
function readonly(chk) {
var felder = new Array('BESCHREIBUNG', 'MASSNAHME', 'VERMEIDUNG', 'ANMERKUNG');
var i;
for (i=0; i<felder.length; i++)
if(document.getElementById){
if(chk){
document.getElementById(felder[i]).style.backgroundColor = "#ffffff";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
}
else {
document.getElementById(felder[i]).style.backgroundColor = "#CCCCCC";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
}
}
}
</script>
</head>
<body>
<form action="">
<input type="checkbox" id='klick' name="readonly" onclick="javascript:readonly(this.checked)" /> <br /><br />
<textarea id='BESCHREIBUNG' disabled='disabled'>BESCHREIBUNG</textarea><br>
<textarea id='MASSNAHME' disabled='disabled'>MASSNAHME</textarea><br>
<textarea id='VERMEIDUNG' disabled='disabled'>VERMEIDUNG</textarea><br>
<textarea id='ANMERKUNG' disabled='disabled'>ANMERKUNG</textarea><br>
</form>
</body>
</html>
True/False oder !chk würden es auch machen.
...kannst Du mir das bitte genauer erklären, verstehe es nicht?
Im Prinzip weist du doch in dieser IF bereits was .disabled rein soll. nämlich das gegenteil vom chk. Und das machst du ja auch, jedoch holst du es dir extra nocheinmal neu aus dem Element.
if(chk){
document.getElementById(felder[i]).style.backgroundColor = "#ffffff";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
Also:
if(chk){
document.getElementById(felder[i]).disabled = true;
} else {
document.getElementById(felder[i]).disabled = false;
oder:
if(chk){
document.getElementById(felder[i]).disabled = !chk;
} else {
document.getElementById(felder[i]).disabled = !chk;
Ansonsten solltest du dich um die Dinge kümmern, die Martin angemerkt hat.
..habs geändert, ist das so i.O.?
Nicht ganz
<input type="checkbox" id='klick' name="readonly" onclick="javascript:readonly(this.checked)" /> <br /><br />
Wie er bereits schrieb, ist ein "javascript:" überflüssig oder störend, wenn du eh bereits im JavaScript bist.
..habs geändert, ist das so i.O.?
...die nächste! Es funktioniert leider nicht.
<!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">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Fehlerbericht</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<script type='text/javascript'>
function readonly(chk) {
var felder = new Array('BESCHREIBUNG', 'MASSNAHME', 'VERMEIDUNG', 'ANMERKUNG');
var i;
for (i=0; i<felder.length; i++)
if(document.getElementById){
if(chk){
document.getElementById(felder[i]).style.backgroundColor = "#ffffff";
document.getElementById(felder[i]).disabled = true;
}
else {
document.getElementById(felder[i]).style.backgroundColor = "#D3D3D3";
document.getElementById(felder[i]).disabled = false;
}
}
}
</script>
<body>
<form action="">
<input type="checkbox" id='klick' name="readonly" onclick="readonly(this.checked)" /> <br /><br />
<textarea id='BESCHREIBUNG' disabled='disabled'>BESCHREIBUNG</textarea><br>
<textarea id='MASSNAHME' disabled='disabled'>MASSNAHME</textarea><br>
<textarea id='VERMEIDUNG' disabled='disabled'>VERMEIDUNG</textarea><br>
<textarea id='ANMERKUNG' disabled='disabled'>ANMERKUNG</textarea><br>
</form>
</body>
</html>
Hi,
..habs geändert, ist das so i.O.?
...die nächste! Es funktioniert leider nicht.
"Funzt nich" ist keine brauchbare Problembeschreibung.
MfG ChrisB
Hi,
..habs geändert, ist das so i.O.?
...die nächste! Es funktioniert leider nicht."Funzt nich" ist keine brauchbare Problembeschreibung.
MfG ChrisB
...o.k.!
Die "funktion readonly" wird immer noch nicht ausgeführt!
Hi,
Die "funktion readonly" wird immer noch nicht ausgeführt!
Und was sagt die JS-Fehlerkonsole eines vernünftigen Browsers (bspw. Firefox)?
MfG ChrisB
Und was sagt die JS-Fehlerkonsole eines vernünftigen Browsers (bspw. Firefox)?
Hallo,
folgendes zeigt die Fehlerkonsole vom Firefox:
"readonly is not a function"
http://..../form.html Zeile: 1
....was auch immer das bedeuten soll?!
Gruß
Hi,
folgendes zeigt die Fehlerkonsole vom Firefox:
"readonly is not a function"
http://..../form.html Zeile: 1....was auch immer das bedeuten soll?!
Das bedeutet, dass die Eigenschaft readonly, die ein Formularfeld per Default hat, keine Funktion ist.
Und auf diese Eigenschaft verweist der Bezeichner readonly nun mal, wenn du ihn direkt "am" Formularfeld verwendest.
Du könntest dort entweder gezielt window.readonly ansprechen - oder der Funktion einen Namen geben, der weniger wahrscheinlich mit bereits vorhandenen Bezeichnern kollidieren wird.
MfG ChrisB
Du könntest dort entweder gezielt window.readonly ansprechen - oder der Funktion einen Namen geben, der weniger wahrscheinlich mit bereits vorhandenen Bezeichnern kollidieren wird.
...dank, ich habs mal geändert aber gleiche Fehlermeldung.
"gesperrt is not a function"
...Zeile: 1
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Fehlerbericht</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
<!-- Begin
function gesperrt(chk)
{
var felder = new Array('BESCHREIBUNG', 'MASSNAHME', 'VERMEIDUNG', 'ANMERKUNG');
var i;
for (i=0; i<felder.length; i++)
if(document.getElementById){
if(chk){
document.getElementById(felder[i]).style.backgroundColor = "#ffffff";
document.getElementById(felder[i]).disabled = true;
}
else {
document.getElementById(felder[i]).style.backgroundColor = "#D3D3D3";
document.getElementById(felder[i]).disabled = false;
}
}
}
// End -->
</script>
</head>
<body>
<form action="">
<input type="checkbox" id='klick' name="gesperrt" onclick="gesperrt(this.checked)" /> <br /><br />
<textarea id='BESCHREIBUNG' disabled='disabled'>BESCHREIBUNG</textarea><br /><br />
<textarea id='MASSNAHME' disabled='disabled'>MASSNAHME</textarea><br /><br />
<textarea id='VERMEIDUNG' disabled='disabled'>VERMEIDUNG</textarea><br /><br />
<textarea id='ANMERKUNG' disabled='disabled'>ANMERKUNG</textarea><br /><br />
</form>
</body>
</html>
Hallo,
Du könntest dort entweder gezielt window.readonly ansprechen - oder der Funktion einen Namen geben, der weniger wahrscheinlich mit bereits vorhandenen Bezeichnern kollidieren wird.
...dank, ich habs mal geändert aber gleiche Fehlermeldung.
Lass das name-Attribut der Checkbox weg (und die Kommentare vor und nach dem JS-Code auch gleich) - ein alert(gesperrt) zeigt nämlich, dass damit das Input-Element angesprochen wird, nicht die Funktion ...
for (i=0; i<felder.length; i++)
if(document.getElementById){
das if wäre vor der Schleife sinnvoller aufgehoben - dann müsste nicht bei jedem Durchgang auf document.getElementById geprüft werden.
Gruß,
Tobias
Lass das name-Attribut der Checkbox weg (und die Kommentare vor und nach dem JS-Code auch gleich) - ein alert(gesperrt) zeigt nämlich, dass damit das Input-Element angesprochen wird, nicht die Funktion ...
...wow, genau das war es! Dankeschön!
for (i=0; i<felder.length; i++)
if(document.getElementById){das if wäre vor der Schleife sinnvoller aufgehoben - dann müsste nicht bei jedem Durchgang auf document.getElementById geprüft werden.
....so?
if(document.getElementById){
for (i=0; i<felder.length; i++)
if(chk){
Hallo,
das if wäre vor der Schleife sinnvoller aufgehoben - dann müsste nicht bei jedem Durchgang auf document.getElementById geprüft werden.
....so?if(document.getElementById){
for (i=0; i<felder.length; i++)
if(chk){
Ja. Die ganze Funktion lässt sich übrigens auch noch etwas kürzer schreiben:
function gesperrt(chk){
if(!document.getElementById){
return false;
}
var felder = new Array('BESCHREIBUNG', 'MASSNAHME', 'VERMEIDUNG', 'ANMERKUNG');
for (var i=0; i<felder.length; i++){
document.getElementById(0).style.backgroundColor = chk?"#ffffff":"#D3D3D3";
document.getElementById(felder[i]).disabled = chk;
}
}
Gruß,
Tobias
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">
Allgemein gesehen, nichts. Aber wie gesagt, wirft irgendetwas ein Fehler? PHP, der Browser?
Formulare laufen nicht ;-)
Mit der Beschreibung wirst du hier nicht viel anderes als diese Aussage bekommen. Ich hab nämlich keine Ahnung was dann nicht mehr geht.