Norbert Klein: Button zum Drücken

Beitrag lesen

Hallo.

Wie muss ich denn den o.g. Befehl abändern damit das auch funktioniert???

print() funktioniert nur mit ganzen Fenstern, nicht aber mit Dokumentabschnitten. Der Inhalt des Textfeldes muss also in ein neues Fenster und dann erst wird gedruckt, siehe [1].
Wobei einige Browser (Mozilla & Netscape>=6 & Opera, der druckt sowieso nicht alleine) nicht mit document.open("text/plain") zurecht kommen und text/html nehmen, also sollten HTML-eigene Zeichen vorher maskiert werden.

Gruß
Norbert

[1]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Textfeld drucken</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
 function pt()
  {
   pw = window.open("","_blank","width=320,height=480,menubar=yes");
   pw.document.open("text/plain");
   pw.document.write(document.forms[0].elements[0].value);
   pw.document.close();
   if(window.print){pw.print()}
   else{pw.alert("Seite muss manuell gedruckt werden.")}
  }
//-->
</script>
</head><body>
<form action="javascript:pt()">
<textarea cols="40" rows="15">BUH!</textarea><br>
<input type="button" value="Button zum Drücken" onclick="pt()">
</form>
</body></html>