今天发现原来以前有时有效有时无效的原因是出在
,<input name="idPrint" type="button" value="打印" οnclick="doprint()">不能放在页面的<form runat="server" id="Form1">之内,客户端的javascript放在runat server怎么行呢。
认识到这个问题就好解决了。以下给出原码:
<script language="Javascript"><!--
function doprint() {
//保留客户打印机设置
var h = factory.printing.header;
var f = factory.printing.footer;
var t = factory.printing.topMargin;
var b = factory.printing.bottomMargin;
var l = factory.printing.leftMargin;
var r = factory.printing.rightMargin;
document.all("printbtn").style.visibility = 'hidden';// 打印时隐藏打印按钮
//设置页眉页脚上下左右边距
factory.printing.header = "页眉+_+ohiolee的打印世界";
factory.printing.footer = "想设置页脚么,这里哦";
factory.printing.topMargin="6";//存在最小默认值5.02
factory.printing.bottomMargin="6";//存在最小默认值4.13
factory.printing.leftMargin="2";//存在最小默认值5.08
factory.printing.rightMargin="2";//存在最小默认值6.79。。。本人机子上测出来是这样的,不知道普遍是否如此。
// 直接打印
factory.DoPrint(false);// true时弹出打印对话框
//返回到原来的打印设置
factory.printing.header = h;
factory.printing.footer = f;
factory.printing.topMargin=t;
factory.printing.bottomMargin=b;
factory.printing.leftMargin=l;
factory.printing.rightMargin=r;
//显示打印按钮
document.all("printbtn").style.visibility = 'visible';// 通过 document.all("printbtn").来指定页面中的任何类,并给以进一步属性设置
}
//--></script>
</HEAD>
<body>
<OBJECT id="factory" style="DISPLAY: none" codeBase="ScriptX.cab#Version=5,0,4,185" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
viewastext>
</OBJECT>
<div id="printbtn"><input name="idPrint" type="button" value="打印" οnclick="doprint()"></div>
codeBase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360" 这里需要给出ActiveX ScriptX.cab的地址,你可以下载到自己的网站中并提供出来,也可以引用其他网站的。当用户访问该网页时,将自动判断该浏览器是否已装有,没有的话,弹出下载警告。同意下载之后,就可以了。
注意不要把<div id="printbtn"><input name="idPrint" type="button" value="打印" οnclick="doprint()"></div>放在runat server的form中哦。。。不要再犯像我一样的错误了哦。
<script language="Javascript"><!--
function doprint() {
//保留客户打印机设置
var h = factory.printing.header;
var f = factory.printing.footer;
var t = factory.printing.topMargin;
var b = factory.printing.bottomMargin;
var l = factory.printing.leftMargin;
var r = factory.printing.rightMargin;
document.all("printbtn").style.visibility = 'hidden';// 打印时隐藏打印按钮
//设置页眉页脚上下左右边距
factory.printing.header = "页眉+_+ohiolee的打印世界";
factory.printing.footer = "想设置页脚么,这里哦";
factory.printing.topMargin="6";//存在最小默认值5.02
factory.printing.bottomMargin="6";//存在最小默认值4.13
factory.printing.leftMargin="2";//存在最小默认值5.08
factory.printing.rightMargin="2";//存在最小默认值6.79。。。本人机子上测出来是这样的,不知道普遍是否如此。
// 直接打印
factory.DoPrint(false);// true时弹出打印对话框
//返回到原来的打印设置
factory.printing.header = h;
factory.printing.footer = f;
factory.printing.topMargin=t;
factory.printing.bottomMargin=b;
factory.printing.leftMargin=l;
factory.printing.rightMargin=r;
//显示打印按钮
document.all("printbtn").style.visibility = 'visible';// 通过 document.all("printbtn").来指定页面中的任何类,并给以进一步属性设置
}
//--></script>
</HEAD>
<body>
<OBJECT id="factory" style="DISPLAY: none" codeBase="ScriptX.cab#Version=5,0,4,185" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
viewastext>
</OBJECT>
<div id="printbtn"><input name="idPrint" type="button" value="打印" οnclick="doprint()"></div>
codeBase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360" 这里需要给出ActiveX ScriptX.cab的地址,你可以下载到自己的网站中并提供出来,也可以引用其他网站的。当用户访问该网页时,将自动判断该浏览器是否已装有,没有的话,弹出下载警告。同意下载之后,就可以了。
注意不要把<div id="printbtn"><input name="idPrint" type="button" value="打印" οnclick="doprint()"></div>放在runat server的form中哦。。。不要再犯像我一样的错误了哦。