Uschi Renziehausen: wo liegt mein Fehler???

Beitrag lesen

Moin,
nee, daran liegts wirklich nicht. Dein Perl-Script wirft zwar einen ganzen Haufen Müll aus, aber das ist nicht der Punkt.
Nun muss ich leider erst mal wieder eine Frage stellen:
Wo soll denn eigentlich die Funktion ZeitAnzeigen() aufgerufen werden? In deinem Perl-Script wird sie nämlich nirgendwo aufgerufen, und was nicht aufgerufen wird, kann auch nicht ausgeführt werden, logisch, nicht wahr?
Ich habe jetzt mal versucht, die Funktion onload im Body aufzurufen. Das geht aber nicht, und das hängt mit editor.js zusammen. Worans genau liegt, kann ich dir nicht sagen, aber nicht an der Zeitfunktion, den onload funzt nicht mal ein simples alert("hallo, du truebe welt").
Ein funktionierendes Workaround bekommst du, wenn du irgendwann hinter dem Datumsfeld folgendes einfügst:
<script language="JavaScript">
 document.getElementById("datum").value = ZeitAnzeigen();
</script>
Voraussetzung fürs Funktionieren ist, dass du deinem datums-Feld nicht nur einen name="datum" sondern auch eine id="datum" mitgibst.

Ein weiteres Problem lag in deiner Zeitfunktion selbst. Du möchtest nämlich, dass das aktuelle Datum in ein Feld namens "datum" eingefügt wird, das seinerseits in einem Formular namens "Anzeige" liegt. Leider gibt es in deiner HTML-Ausgabe aber kein Formular namens Anzeige. Ich habe deshalb die Datumsfunktion umgemodelt:
 function ZeitAnzeigen()
 {
      var Jetzt = new Date();
      var Tag = Jetzt.getDate();
      var Monat = Jetzt.getMonth() + 1;
      var Jahr = Jetzt.getYear();
      strDate = Jahr +"-" +Monat +"-" +Tag;
      return strDate;
  }
Das heisst, sie gibt dir jetzt nur noch den String mit dem Datum zurück und den kannst du reinschreiben, wo du möchtest.

Anbei meine Version deiner HTML-Datei. Dein Perl-Script muss dringend aufgeräumt werden.

<html>
<head>
 <title>htmlArea</title>
<script language="javascript">
<!--
 function ZeitAnzeigen()
     {
      var Jetzt = new Date();
      var Tag = Jetzt.getDate();
      var Monat = Jetzt.getMonth() + 1;
      var Jahr = Jetzt.getYear();
      strDate = Jahr +"-" +Monat +"-" +Tag;
      return strDate;
   }
-->
</script>

<script language="Javascript1.2" src="editor.js"></script>

<script>
_editor_url = "http://www.neuro-psychiatrie.at/test/";
 </script>
<style type="text/css"><!--
  .btn   { BORDER-WIDTH: 1; width: 26px; height: 24px; }
  .btnDN { BORDER-WIDTH: 1; width: 26px; height: 24px; BORDER-STYLE: inset; BACKGROUND-COLOR: buttonhighlight; }
  .btnNA { BORDER-WIDTH: 1; width: 26px; height: 24px; filter: alpha(opacity=25); }
--></style>

<style type="text/css"><!--
  body, td { font-family: arial; font-size: 12px; }
  .headline { font-family: arial black, arial; font-size: 28px; letter-spacing: -2px; }
  .subhead  { font-family: arial, verdana; font-size: 12px; let!ter-spacing: -1px; }
--></style>

</head>
<body>
<form id="Anzeige" name="Anzeige" method="POST" action="">

<div class="headline">htmlArea test</div>
<p>

<textarea name="box2" id="box2" style="width:321; height:321" rows="1" cols="2" wrap="hard">
</textarea><br />

<script language="javascript1.2">
 editor_generate('box2'); // field, width, height
</script>

Datum: <input name="datum" size="20" value="" />
<input type="submit" value="Speichern" />

<p><input type="submit" value="Abschicken" name="B1" /></p>
</form>
<script language="JavaScript">
  document.getElementById("datum").value = ZeitAnzeigen();
</script>
</body></html>

liebe gruesse, uschi