我正在为一个朋友的朋友在一个网站上工作,而目前最大的困扰是收养表格。我的表单都说完了,但是我无法获取输入信息以在新页面上打开。可以说仅包含问题和输入答案的打印屏幕。我有一个非常简单的代码,效果很好。出现的正是我想要打印的内容。问题是我无法使用CSS对其进行自定义。我从这里的帮助问题中找到了另一种方法。但是这个问这个问题的人做的不是我做的同样的事情,所以它只会起到很大的作用。
这是我尝试过的代码,但无法自定义:
<script type="text/javascript">
function printDiv(divName) {
alert('s');
var printContents = document.getElementById(divName).innerHTML;
w=window.open();
w.document.write(printContents);
w.print();
w.close();
}
For specific area of a page
<div id="print-content">
<form>
<input type="button" onclick="printDiv('print-content')" value="print a div!"/>
</form>
</div>
这是我也尝试过的另一个代码,它根本不起作用:
function printPage(){
var width = screen.width - 50;
var tableData = '<table width="'+width+'" border="1">'+document.getElementsByTagName('table')[0].innerHTML+'</table>';
var cssHead = '<head><link rel="stylesheet" type="text/css" href="mystyle.css"></head>'
var data = cssHead + '<button onclick="window.print()">Print this page</button>'+tableData;
myWindow=window.open('','','width=auto,height=auto');
myWindow.innerWidth = screen.width;
myWindow.innerHeight = screen.height;
myWindow.screenX = 0;
myWindow.screenY = 0;
myWindow.document.write(data);
myWindow.focus();
};
此后什么也没发生。我单击了按钮,但没有任何反应。
然后,我尝试将两者同时使用:
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var cssHead = '<head><link rel="stylesheet" type="text/css" href="mystyle.css"></head>'
var data = cssHead + printContents;
myWindow=window.open('','','width=auto,height=auto');
myWindow.innerWidth = screen.width;
myWindow.innerHeight = screen.height;
myWindow.screenX = 0;
myWindow.screenY = 0;
myWindow.document.write(data);
myWindow.focus();
myWIndow.close();
}
这也没有用。点击按钮,什么也没发生。我为该做的事感到无所适从。我知道一些JavaScript,但不是很多。我在学校里接触了它。没有进步。我真的很想完成这项工作,这是完成之前的最后一件事。有任何想法吗?我究竟做错了什么?
最佳答案
如果我的理解是正确的,这可能对您有帮助
在您的第一个javascript中使用media =“ print”包含样式表。
还可以看到此链接,这可能对您有帮助
Print/Preview Ignoring my Print.css