I have a .Net application that dynamically creates a small HTML page and pulls it out in a new window using the javascript document.open method. Everything with this functionality works fine.
Now I want to add a button to the HTML page that prints the page. I tried using the following code to no avail:
<a href='print.html' onClick='window.print();return false;'> <img src='images/printer.png' height='32px' width='32px'></a>
When a button is clicked, nothing happens in the popup window. But when the source code of this page is saved and loaded in the browser as a separate page, the print button works fine. So it seems like the problem is that the code is in a popup. [Now the problem is that the code is written in a popup after it opens.] Does anyone know a way to fix this problem or any alternatives?
EDIT:
Another method that I tried with the same results:
<input type='button' onclick='window.print()' value='Print' />
and
<a href='javascript:window.print()'> <img src='images/printer.png' height='32px' width='32px'></a>
EDIT AGAIN:
The above code works in Firefox, but not in IE7. Any ideas on working for IE?
EDIT AGAIN:
Below is a test case using npup code. Instead of the code for a pop-up window living in a separate html file, I open an empty URL and then write the code. This step seems to be causing the problem.
<html> <head> <title>main</title> </head> <body> <h1> Pop & print</h1> <button onclick="pop();"> Pop</button> <script type="text/javascript"> var POP; function pop() { var newWin = window.open('', 'thePopup', 'width=350,height=350'); newWin.document.write("<html><head><title>popup</title></head><body><h1>Pop</h1>" + "<p>Print me</p><a href='print.html' onclick='window.print();return false;'>" + "<img src='images/printer.png' height='32px' width='32px'></a></body></html>"); } </script> </body> </html>
sglantz
source share