Hallo zusammen,
mich plagt ein Problem mit JavaScript, bzw. der innerHTML-Funktion.
Folgende Problemstellung:
Ich möchte aus einer üblichen Standard-HTML-Datei nur bestimmte Bereiche für den Ausdruck bestimmen.
Also habe ich über die id's diese Bereiche festgelegt und eine JS-Funktion geschrieben, welche mir bei Klick auf diese den Bereich aus dem Hauptdokument in ein neu aufgerufenes Fenster übergibt und darstellen soll.
Nur LEIDER wird das neu aufgerufene Fenster mal korrekt mit Inhalt dargestellt und manchmal aber nur LEER geöffnet. Ich habe bislang keine Logik/Systematik dafür gefunden. Das das ohnehin nur im IE funktioniert weiß ich ja. Da es da aber nur ab und zu funktioniert, treibt mich das noch um den Verstand!
Sowohl das Hauptdokument, als auch die leere Seite (in die der Text übergeben werden soll) und die JS-Funktion welche bei Klick ausgeführt werden soll (aus dem Hauptdokument), habe ich anbei im Quelltext zusammengestellt.
Wenn jemand helfen kann, 1001 Danke, ich revanchiere mich gern.
In der Hoffnung auf den rettenden Hinweis,
PWolf
***********---- schnipp schnapp -------*************
Dies ist die Hauptdatei, aus welcher der Inhalt in die neue, leere HTML-Datei (siehe unten, druckmaske.html) übergeben werden soll. Durch Klick auf die Funktion "Druck" soll der Inhalt der ID "Druckbereich" in die unten aufgeführte Datei (druckmaske.html) übergeben werden. Die JavaScript-Funktion für "Druck" ist unten auch abgebildet.
impressum.html :
<html>
<head>
<title></title>
<script language="JavaScript" src="main.js" type="text/javascript"></script>
</head>
<BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
<table border="0" cellpadding="0" cellspacing="0" width="600">
<tr>
<td valign="top" colspan="2" width="576" id="Druckbereich">
<!-- Content Anfang -->
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
Dieser Text <b>soll</b> übergeben werden.
</td>
</tr>
</table>
<!-- Content Ende -->
</td>
</tr>
</table>
Dieser Text darf <b>nicht</b> übergeben werden.
<p></p>
<a href="javascriptruck()">Seite drucken</a>
<p></p>
Problem: Mal klappts und mal ist die neu aufgerufene Seite einfach leer...
</body>
</html>
***********---- schnipp schnapp -------*************
Hier die leere HTML-Datei, welche durch unten genannte JavaSript-Funtion geöffnet wird und den Inhalt aus der oben genannten Hauptdatei wiedergeben soll. (siehe id "neueUeberschrift"...)
druckmaske.html :
<html>
<head>
<title></title>
</head>
<script language="JavaScript" src="js/main.js" type="text/javascript"></script>
<BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
<table border="0" cellpadding="2">
<tr>
<td id="neuerInhalt"> </td>
</tr>
</table>
</body>
</html>
***********---- schnipp schnapp -------*************
Hier die JavaScript-Funktion, welche ich in eine externe Datei ausgelagert habe (main.js). Bei Klick auf einen Link zum Druck aus der Hauptdatei, wird diese ausgeführt.
main.js :
function Druck()
{
var newWin = window.open('druckmaske.html','Druckmaske', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no, resizable=no,copyhistory=no,width=635');
var alterInhalt = document.getElementById("Druckbereich").innerHTML;
newWin.document.getElementById("neuerInhalt").innerHTML = alterInhalt;
newWin.print();
newWin.setTimeout("self.close()",1000);
}
[Editiert von pwolf am 11-11-2001 um 21:47]
mich plagt ein Problem mit JavaScript, bzw. der innerHTML-Funktion.
Folgende Problemstellung:
Ich möchte aus einer üblichen Standard-HTML-Datei nur bestimmte Bereiche für den Ausdruck bestimmen.
Also habe ich über die id's diese Bereiche festgelegt und eine JS-Funktion geschrieben, welche mir bei Klick auf diese den Bereich aus dem Hauptdokument in ein neu aufgerufenes Fenster übergibt und darstellen soll.
Nur LEIDER wird das neu aufgerufene Fenster mal korrekt mit Inhalt dargestellt und manchmal aber nur LEER geöffnet. Ich habe bislang keine Logik/Systematik dafür gefunden. Das das ohnehin nur im IE funktioniert weiß ich ja. Da es da aber nur ab und zu funktioniert, treibt mich das noch um den Verstand!
Sowohl das Hauptdokument, als auch die leere Seite (in die der Text übergeben werden soll) und die JS-Funktion welche bei Klick ausgeführt werden soll (aus dem Hauptdokument), habe ich anbei im Quelltext zusammengestellt.
Wenn jemand helfen kann, 1001 Danke, ich revanchiere mich gern.
In der Hoffnung auf den rettenden Hinweis,
PWolf
***********---- schnipp schnapp -------*************
Dies ist die Hauptdatei, aus welcher der Inhalt in die neue, leere HTML-Datei (siehe unten, druckmaske.html) übergeben werden soll. Durch Klick auf die Funktion "Druck" soll der Inhalt der ID "Druckbereich" in die unten aufgeführte Datei (druckmaske.html) übergeben werden. Die JavaScript-Funktion für "Druck" ist unten auch abgebildet.
impressum.html :
<html>
<head>
<title></title>
<script language="JavaScript" src="main.js" type="text/javascript"></script>
</head>
<BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
<table border="0" cellpadding="0" cellspacing="0" width="600">
<tr>
<td valign="top" colspan="2" width="576" id="Druckbereich">
<!-- Content Anfang -->
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
Dieser Text <b>soll</b> übergeben werden.
</td>
</tr>
</table>
<!-- Content Ende -->
</td>
</tr>
</table>
Dieser Text darf <b>nicht</b> übergeben werden.
<p></p>
<a href="javascriptruck()">Seite drucken</a>
<p></p>
Problem: Mal klappts und mal ist die neu aufgerufene Seite einfach leer...
</body>
</html>
***********---- schnipp schnapp -------*************
Hier die leere HTML-Datei, welche durch unten genannte JavaSript-Funtion geöffnet wird und den Inhalt aus der oben genannten Hauptdatei wiedergeben soll. (siehe id "neueUeberschrift"...)
druckmaske.html :
<html>
<head>
<title></title>
</head>
<script language="JavaScript" src="js/main.js" type="text/javascript"></script>
<BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
<table border="0" cellpadding="2">
<tr>
<td id="neuerInhalt"> </td>
</tr>
</table>
</body>
</html>
***********---- schnipp schnapp -------*************
Hier die JavaScript-Funktion, welche ich in eine externe Datei ausgelagert habe (main.js). Bei Klick auf einen Link zum Druck aus der Hauptdatei, wird diese ausgeführt.
main.js :
function Druck()
{
var newWin = window.open('druckmaske.html','Druckmaske', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no, resizable=no,copyhistory=no,width=635');
var alterInhalt = document.getElementById("Druckbereich").innerHTML;
newWin.document.getElementById("neuerInhalt").innerHTML = alterInhalt;
newWin.print();
newWin.setTimeout("self.close()",1000);
}
[Editiert von pwolf am 11-11-2001 um 21:47]
Kommentar