Datum und Uhrzeit wird nur nicht ausgegeben!

msmopic

Mitglied
Leider hat es so auch nicht funktioniert. Jetzt wird das Datum sowie die Uhrzeit garnicht ausgegeben. Kann mir jemand sagen, was ich falsch gemacht habe?

Kurze Info über den geplanten Ablauf:

- zuerst wird die Seite "home.html" aufgerufen
- dort befindet sich ein link ("datum"), auf dessen Mausklick die Funktion "get_Datum_Uhr()" geladen wird
- diese Funktion öffnet ein neues Fenster:
win = window.open("datum_uhr.html","datum_uhr","width=300,height=200,resizable=yes");
sowie die Funktion:
win.setTimeout('new_Datum()',2000);
- die Seite "datum_uhr.html" enthält Formularfelder, die die Uhrzeit und das Datum angezeigen sollen
- alle Funktionen sind in einer globalen Datei gespeichert (code.cs)



Hier nochmal die Funktionen:



var win;
var stunden, minuten, sekunden, uhrzeit, jahr, monat, tag, datum;
var akt_Datum = new Date();

function new_Datum()
{jahr = akt_Datum.getYear();
monat = akt_Datum.getMonth()+1;
tag = akt_Datum.getDate();
stunden = akt_Datum.getHours();
minuten = akt_Datum.getMinutes();
sekunden = akt_Datum.getSeconds();

datum = tag+"."+monat+"."+jahr;
win.document.datumUhr.date.value = datum;
uhrzeit = stunden+":"+minuten+":"+sekunden+" Uhr";
win.document.datumUhr.time.value = uhrzeit;
}


function get_Datum_Uhr()
{win = window.open("datum_uhr.html","datum_uhr","width=300,height=200,resizable=yes");
win.setTimeout('new_Datum()',2000);
}



Die Datei datum_uhr.html enthält eigentlich nichts besonderes:

<html>
<head>
<title>Datum-Uhrzeit</title>
<SCRIPT LANGUAGE="JavaScript" SRC="code.js">

</SCRIPT>
</head>

<body bgcolor="#000000" text="#FFFFFF" link="Yellow">

<form name="datumUhr">
Datum <br />
<input size=10 name="date"></p>
Uhrzeit <br />
<input size=10 name="time"></p>
<p>Sie waren
<input size=4 name="online">&nbsp;Sekunden auf dieser Homepage!
</form>

</body>
</html>



 
... das wollte ich Dir gestern schon sagen, bevor Dein anderer Thread geschlossen wurde:
win.setTimeout('new_Datum()',2000);
Du machst hier den selben Fehler wie am Anfang. Lass das win. vor dem setTimeout weg - Dein neues Fenster (win) hat keine Funktion namens new_Datum.

Gruß

P.S.: Bitte verwende Code-Tags, um Quelltext darzustellen, danke.
.
 
Also ich will Dich ja nicht nerven, aber es funktioniert einfach nicht! Wenn ich in der Funktion "get_Datum_Uhr()" direkt die Funktion "new_Datum();" aufrufe, bekomme ich wenigstens einen richtigen Durchlauf. Wenn ich, wie Du geschrieben hast "setTimeout('new_Datum()',2000);" benutze, funktioniert garnichts!

Ich gebe Dir nochmal den Code. Hoffe Du kommst auf die Lösung! Vielen Dank, dass Du Dich so damit beschäftigst. Ich bin halt noch ein "Anfänger".


//Anfang Datei "code.js" mit sämtlichen Funktionen

var stunden, minuten, sekunden, uhrzeit, jahr, monat, tag, datum;
var akt_Datum = new Date();
var win;


function get_Datum_Uhr()
{win = window.open("datum_uhr.html","datum_uhr","width=300,height=200,resizable=yes");
new_Datum();
//setTimeout('new_Datum()',2000);
}



var stunden, minuten, sekunden, uhrzeit, jahr, monat, tag, datum;
var akt_Datum = new Date();
var win;

function new_Datum()
{jahr = akt_Datum.getYear();
monat = akt_Datum.getMonth()+1;
tag = akt_Datum.getDate();
stunden = akt_Datum.getHours();
minuten = akt_Datum.getMinutes();
sekunden = akt_Datum.getSeconds();

datum = tag+"."+monat+"."+jahr;
win.document.datumUhr.date.value = datum;
uhrzeit = stunden+":"+minuten+":"+sekunden+" Uhr";
win.document.datumUhr.time.value = uhrzeit;

setTimeout('get_Datum_Uhr()',2000);
}
 
Hi,

hmm, manchmal bin ich einfach blind. Die Funktion muss sich natürlich auch selbst aufrufen:
HTML:
var win; 
var stunden, minuten, sekunden, uhrzeit, jahr, monat, tag, datum;

function new_Datum() {
    var akt_Datum = new Date(); 
    jahr = akt_Datum.getYear();
    monat = akt_Datum.getMonth()+1;
    tag = akt_Datum.getDate(); 
    stunden = akt_Datum.getHours();
    minuten = akt_Datum.getMinutes();
    sekunden = akt_Datum.getSeconds();
    datum = tag+"."+monat+"."+jahr;
    uhrzeit = stunden+":"+minuten+":"+sekunden+" Uhr";
    win.document.datumUhr.date.value = datum;
    win.document.datumUhr.time.value = uhrzeit; 
    setTimeout("new_Datum()", 1000);
}

function get_Datum_Uhr() {
    win = window.open("datum_uhr.htm","datum_uhr","width=300,height=200,resizable=yes"); 
    new_Datum();
}
Außerdem muss das Datum natürlich jedes Mal neu in der Funktion new_Datum abgefragt werden. Nun sollte es aber gehen; ich habe es getestet. ;)

Gruß

P.S.: Bitte benutze die Code-Tags, wenn Du Quelltext postest, danke!
.
 
Zuletzt bearbeitet:
Hi,

es klappt einfach nicht. Und ich bin echt langsam verzweifelt. Es muss irgendwas mit der Variable "win" zu tun haben.
Denn ich habe es umgeschrieben und die Funktionen direkt in "datum_uhr.html" eingebaut. Dort habe ich aber kein extra
Fenster kreiert (win = window.open("...")), sondern im body über onload="window.setTimeout('get_Datum_Uhr()',1000)" die Funktion aufgerufen, so dass also alles in der einen HTML-Datei ausgegeben wurde, ohne dass sich ein extra Fenster öffnet.

Ich habe einfach keinen Anhaltspunkt mehr. Das ist mir echt zu hoch :-(

Zum letzten mal hier nochmal den Code und die Funktionen:

Code:
//datum_uhr.html
<html>
 <head>
  <title>Datum-Uhrzeit</title>
  <SCRIPT LANGUAGE="JavaScript" SRC="code.js">
  
  </SCRIPT>	  
 </head>
 
 <body bgcolor="#000000" text="#FFFFFF" link="Yellow">
   
  <form name="datumUhr">
  Datum <br />
  <input size=10 name="date"></p>
  Uhrzeit <br />
  <input size=10 name="time"></p>
  <p>Sie waren
  <input size=4 name="online">&nbsp;Sekunden auf dieser Homepage!
  </form>
  
 </body>
</html>
 
//Funktionen in der Datei code.js
function get_Datum_Uhr() 
  {win = window.open("datum_uhr.html","datum_uhr","width=300,height=200,resizable=yes"); 
   new_Datum();
  } 
 
var win; 
var stunden, minuten, sekunden, uhrzeit, jahr, monat, tag, datum;
function new_Datum() 
  {var akt_Datum = new Date(); 
   jahr = akt_Datum.getYear();
   monat = akt_Datum.getMonth()+1;
   tag = akt_Datum.getDate(); 
   stunden = akt_Datum.getHours();
   minuten = akt_Datum.getMinutes();
   sekunden = akt_Datum.getSeconds();
   datum = tag+"."+monat+"."+jahr;
		
   uhrzeit = stunden+":"+minuten+":"+sekunden+" Uhr";   
   win.document.datumUhr.date.value = datum;
   win.document.datumUhr.time.value = uhrzeit; 
   setTimeout('new_Datum()',1000);	  
  }
 
Hi,

keine Ahnung, was Du jetzt gemacht hast, aber die von mir zuletzt gepostete Version läuft definitiv. Anbei zur Anschauung beide html-Dateien als zip-Archiv.

Gruß

.
 

Anhänge

  • new_Datum.zip
    1 KB · Aufrufe: 59
Jetzt hab ich das Problem wahrscheinlich gefunden:
Kann es sein, dass die Sache deshalb nicht gelaufen ist, weil ich wie Du in folgendem Code sehen kannst, den Funktionsaufruf innerhalb einer Tabelle und dort über ein href-Tag aufgerufen habe?

Denn wenn ich die Funktion ausserhalb des table-tags aufrufe, und zwar nach Deinem Vorschlag innerhalb eines img-Tags, funktioniert die Sache.

Irgendwie trotzdem sehr seltsam und unlogisch für mich...

Hier der Code:

Code:
<html>
 <head>
  <title>Frame unten</title></head>
  <SCRIPT LANGUAGE="JavaScript" SRC="code.js">
  
  </SCRIPT>
  
  <style type="text/css">
  <!--  P {font: 8pt Arial, Courier} -->
	a {font: 8pt Arial, Courier}
  </style>
		
 
 <body bgcolor="#EBDB3D" background="technik/Frame_unten.jpg">
 
  <table width="100%" height="70%">
  <tr>
	 <td valign="bottom" align="left">
   <a href="4.html" onclick="get_Datum_Uhr()"><font color="black">Datum</a></td>
   <td valign="bottom" align="center">
   <p>Diese Seite wurde f&uuml;r eine Betrachtung mit dem Internet Explorer unter einer
   Bildschirmaufl&ouml;sung von 1024 x 768 Pixel optimiert</td>   
   <td valign="bottom" align="right">
	 <a href="4.html" onclick="madebyFenster()"><font color="black">Info</a></td> 
  </tr>
  </table>
  <img name="test" src="ADV1.jpg" width="32" height="32" alt="" onClick="get_Datum_Uhr()">
  
 </body>
</html>

Gruss
 
Hi,

... das ist ja auch ne never-ending-Story... ;)

Eigentlich sollte das egal sein, wo Deine Funktion aufgerufen wird... außerdem seh ich kein href außer bei "a href="4.html" ... und ich weiß natürlich nicht, was 4.html ist.

Du könntest Deine Dateien allerdings auch mal posten, dann kann ich es mir gerne anschauen - oft steckt der Fehler im Detail.

Gruß

.
 
Ich habs!
Ich hab in meinem schlauen Buch weitergelesen und dort eine neue Möglichkeit gefunden. Ich habe nur den Inhalt von
href in der Datei 4.html geändert, und zwar von


HTML:
<a href="4.html" onclick="get_Datum_Uhr()"><font color="black">Datum</a></td>
auf
<FONT style="BACKGROUND-COLOR: #ffffff" face=Arial>
HTML:
<a href="javascript:get_Datum_Uhr()"><font color="black">Datum</a></td>

4.html beschreibt übrigens meinen unterer Frame, indem dann der Link "Datum" enthalten ist und angeklickt werden kann. Vorher hat sich die Datei 4.html bei jedem Klick auf den Link nochmal selbst aufgerufen und gleichzeitig das neue Fenster mit der Datumsanzeige geöffnet. Warum das jetzt so klappt, ist mir aber immer noch nicht ganz klar.

Trotzdem vielen Dank. Damit ist das Problem behoben.

Gruss
 
Zurück