请给我一个解决方案。 当单击一个按钮时,我想使用javascirpt:print()打印在表单操作属性中指定的页面,但不重定向到该页面
答案 0 :(得分:1)
您无法打印浏览器未显示的页面。您只能要求浏览器显示打印对话框,该对话框将提供打印浏览器当前显示的页面。
你可以打开一个新窗口,并按照这样做:
var form = document.getElementById("theForm"); // Assuming the form has `id="theForm"`
var wnd = window.open(form.action);
wnd.print();
如果您控制其他页面,理想情况下,当页面完全加载时,您将从其他页面中触发print
调用。在大多数浏览器上,上面的工作正常,但如果我在某些浏览器上正确回想起如果print
调用在页面完全加载之前发生,那么你就不能得到你想要的......
请注意,上面的代码仅可以直接响应用户操作,例如单击按钮。否则,浏览器的弹出窗口阻止程序将阻止它发生。
答案 1 :(得分:0)
您可能需要考虑以下内容......
您可以在iframe中加载要打印的页面并打印iframe的内容 - 而无需重定向到该(目标)页面。
您可以在此处找到更多信息:http://stackoverflow.com/questions/1261561/printing-a-hidden-iframe-in-ie