【JS新手教程】LODOP打印复选框选中的任务或页数
之前的博文:【JS新手教程】LODOP打印复选框选中的内容
关于任务:Lodop打印语句最基本结构介绍(什么是一个任务)
关于本文用到的JS的eval方法:JS-JAVASCRIPT的eval()方法
该文用的是不同checkbox,对应不同的value值,不同的value是不同的打印项语句,也可以不用value属性,直接不同checkbox对不同字符串,然后加载执行该字符串,用eval方法执行里面的JS语句。
这里面有两种输出方式,选择三个复选框,每个一个任务输出,输出三个任务,该文用xps虚拟打印机测试,输出为三个xps文件。第二种循环newpage,一个任务多页,输出一个xps文件,该文件里有三页。
INIT和PRINT放在循环之外,里面用newpage分隔,一个任务打印多页。(三个复选框都选,就是打印三页)
INIT和PRINT放在循环之内,不加分页,一个任务一页,打印三个任务。(三个复选框都选,就是打印三个任务)
代码:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
输入选择人名:<input type="text" id="T1"><br>
<hr>
选择第一组:
<input type="checkbox" id="CK0" name="hob" value="">内容加矩形
<input type="checkbox" id="CK1" name="hob" value="">条码和椭圆
<input type="checkbox" id="CK2" name="hob" value="">二维码和直线
<hr>
<div id="hom">
选择第二组:
<input type="checkbox" value="">内容加矩形
<input type="checkbox" value="">条码和椭圆
<input type="checkbox" value="">二维码和直线
<hr>
</div>
<a href="javascript:prn1_preview()">第一组的选择,分任务输出选择的多个任务</a><br>
<a href="javascript:prn2_preview()">第二组的选择,一个任务输出多页</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量 function prn1_preview() {
document.getElementById("CK0").value=
"LODOP.ADD_PRINT_TEXT(37,92,58,23,'内容1');LODOP.ADD_PRINT_RECT(73,77,100,60,0,1);LODOP.ADD_PRINT_TEXT(92,186,94,20,'内容1');";
document.getElementById("CK1").value=" LODOP.ADD_PRINT_SHAPE(5,37,94,100,60,0,1,'#FFFF80');LODOP.ADD_PRINT_BARCODE(105,105,100,60,'Code39','123456789012');";
document.getElementById("CK2").value="LODOP.ADD_PRINT_BARCODE(51,123,140,81,'QRCode','123456789012');LODOP.ADD_PRINT_LINE(130,74,136,243,0,6);";
LODOP=getLodop();
obj_allhob=document.getElementsByName("hob");
for (i=0;i<obj_allhob.length;i++) {
if (document.getElementById("CK"+i).checked) {
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(1,600,800,"");
eval(document.getElementById("CK"+i).value);
LODOP.PRINT();
}
}
};
function prn2_preview() {
var div_hom=document.getElementById("hom");
var obj_allhom=div_hom.getElementsByTagName("input");
obj_allhom[0].value=
"LODOP.ADD_PRINT_TEXT(37,92,58,23,'内容1');LODOP.ADD_PRINT_RECT(73,77,100,60,0,1);LODOP.ADD_PRINT_TEXT(92,186,94,20,'内容1');";
obj_allhom[1].value=" LODOP.ADD_PRINT_SHAPE(5,37,94,100,60,0,1,'#FFFF80');LODOP.ADD_PRINT_BARCODE(105,105,100,60,'Code39','123456789012');";
obj_allhom[2].value="LODOP.ADD_PRINT_BARCODE(51,123,140,81,'QRCode','123456789012');LODOP.ADD_PRINT_LINE(130,74,136,243,0,6);";
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(1,600,800,"");
for (i=0;i<obj_allhom.length;i++) {
if (obj_allhom[i].checked) {
LODOP.NEWPAGE();
eval(obj_allhom[i].value);
}
}
LODOP.PRINT();
};
</script>
</body>
图示:

【JS新手教程】LODOP打印复选框选中的任务或页数的更多相关文章
- 【JS新手教程】LODOP打印复选框选中的内容
在html中,复选框是常见的使用之一,本文介绍如何获取选中的复选框的值,并用LODOP打印.给需要为一组的复选框,复选框的checkbox设置相同的name属性,设置不同的id,然后设置需要的valu ...
- bootstrap table 复选框选中后,翻页不影响已选中的复选框
使用的 jquery版本为 2.1.1 在项目中发现bootstrap table的复选框选中后,翻页操作会导致上一页选中的丢失,api中的 bootstrapTable('getSelections ...
- js input复选框选中父级同时子级也选中
js实现复选框选中父级元素子级元素也选中,没有子级元素选中父级也不选中的效果 HTML <tr> <td> <label> <input name=" ...
- JS复选框选中
Web前端之复选框选中属性 熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好了.博主之前用户不少方法,经常 ...
- springMvc接收ajax数组参数,以及jquery复选框选中、反选、全选、全不选
一.复选框选中.反选.全选.全不选 html代码: <input type='checkbox' name='menuCheckBox' value='10' >苹果 <input ...
- jquery复选框 选中事件 及其判断是否被选中
jquery复选框 选中事件 及其判断是否被选中 (2014-07-25 14:03:54) 转载▼ 标签: jquery复选框选中事件 分类: extjs jquery 今天做了 显示和不显示密 ...
- Web前端之复选框选中属性
熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好 了.博主之前用户不少方法,经常Google到一些这个不好那个 ...
- Javascript 统计复选框选中个数
var checked = document.getElementsByName("checked_c[]"); var checked_counts = 0; for(var i ...
- Jquery获取当前页面中的复选框选中的内容
在使用$.post提交数据时,有一个数据是复选框获取数据,所以在当前页面获取到复选框选中的值并提交到后端卡住了一下,解决方法如下: 这两个input就是复选框的内容: str += "< ...
随机推荐
- 洛谷P1783海滩防御
题目 跟奶酪那道题差不多,用并查集来求解. 用二分,或可以用类似于克鲁斯卡尔算法的贪心来每次判断是否起点和终点已经并在一个集合里(类似奶酪) 如果已经覆盖就结束判断并得出答案:即当前选择的边的最大值. ...
- HDU-盐水的故事
http://acm.hdu.edu.cn/showproblem.php?pid=1408 这是一道高精度问题: 在自己错了数十遍之后找到了不少规律: 首先是Output limit exceede ...
- javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行
jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...
- 《挑战30天C++入门极限》C++面向对象编程入门:类(class)
C++面向对象编程入门:类(class) 上两篇内容我们着重说了结构体相关知识的操作. 以后的内容我们将逐步完全以c++作为主体了,这也意味着我们的教程正式进入面向对象的编程了. 前面的教程我 ...
- mybatis-sqlite日期类型对应关系
1.问题 sqlite数据库 user表,create_time字段,类型DATETIME,设置默认值datetime('now') mybatis,User实体,createTime类型为java. ...
- 【CSP模拟赛】凤凰院凶真(最长公共上升子序列)
题目描述 α世界线.凤凰院凶真创立了反抗SERN统治的组织“瓦尔基里”.为了脱离α线,他需要制作一个世界线变动率测量仪. 测量一个世界线相对于另一个世界线的变动率,实质上就是要求出这两个世界线的最长公 ...
- (二)SQL学习之数据定义类SQL
以mysql为例 对数据库的常用操作 创建数据库:CREATE DATABASE mydb; 删除数据库:DROP DATABASE mydb; 切换数据库:USE mydb; 查询数据库:SHOW ...
- 方法重载与invokevirtual字节码指令的关系
1.方法重载 创建MyTest5类 public class MyTest5 { public void test(Grandpa grandpa){ System.out.println(" ...
- Windows和Linux下putenv()函数导致composer更新失败
bug复现: 原因: putenv() 函数设置特定的环境变量有可能是一个潜在的安全漏洞,所以这个函数在php配置文件中是默认禁止的,在 php.ini 中查找此函数,然后将此函数删除掉,重载配置即可 ...
- Xcode: Xcode中Command Line Tools的安装方法
1. 打开终端: 2. 输入命令: xcode-select --install ,如果出现下图,说明你已经安装过了,下边内容也不用看了 如果出现下图说明还没有安装,点击安装 同意协议: 稍等片刻.. ...