关于利用JS脚本控制换行的问题

gwikimo 2009-05-17 05:25:25
需求描述:现在有一张票面比如是这样的,

内容描述:______________________
_______________________________
_______________________________

打印的效果是这样的,如何利用脚本实现在打印的时候横线上自动换行,横线内容是从数据库读取的。
简单的概述就是利用JS脚本根据横线长度自动换行,希望高手可以提供个思路。

非常感谢!
...全文
354 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gwikimo 2009-05-23
  • 打赏
  • 举报
回复
谢谢大家的回复,问题已基本解决,利用Javascript脚本实现。
natineprince 2009-05-19
  • 打赏
  • 举报
回复
设定好应该就不会的.除非人工放纸问题.
gwikimo 2009-05-18
  • 打赏
  • 举报
回复
套打貌似位置会错位,每次打印都会不太一样。
jianshao810 2009-05-18
  • 打赏
  • 举报
回复
顶上楼的兄弟
caiying2009 2009-05-17
  • 打赏
  • 举报
回复
test:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>打印下划线_思路</title>
<style>
.under_line{font-size:12px ;line-height:20px;}
.under_line .unline{text-decoration:underline}
</style>
</head>

<body>
<span class="under_line">内容描述:打印的效果是这样的,如何利用脚本实现在打印的时候横线上自动换行,横线内容是从数据库读取的。简单的概述就是利用脚本根据横线长度自动换行,希望高手可以提供个思路。</span>

<script language="javascript">
<!--
function setLine(s){return "<nobr class=unline>"+s+"<nobr>"}
function get_Line(s){
var sArr=[]
var str=s
while(str.length>0){
sArr[sArr.length]=str.substr(0,w)
str=str.substr(w)
}
var t=sArr[0].split(":")
sArr[0]=t[0]+":"+setLine(t[1])
for (var i=1;i<sArr.length;i++)
sArr[i]=setLine(sArr[i])
str=sArr.join("<br>")
return str
}
var w=15
var obj=document.getElementsByTagName("span")
for (var i=0;i<obj.length;i++){
if (obj[i].className=="under_line" && obj[i].innerHTML.length>w){
obj[i].innerHTML=get_Line(obj[i].innerHTML)
}
}
//-->
</script>

</body>
</html>

xiongzhijian 2009-05-17
  • 打赏
  • 举报
回复
顶...楼上的
natineprince 2009-05-17
  • 打赏
  • 举报
回复
这种打印一般是套打吧.
调好位置.
DIV里加好STYLE就能换行了.
gwikimo 2009-05-17
  • 打赏
  • 举报
回复
我也有这么想过,那如果文字打印完了,横线还不够长度呢,
就是类似会产生这样的效果
_____________________
_____________________
_______

第三行开始只有一半

因为是专业票面的打印,所以对格式要求比较严格。
Atai-Lu 2009-05-17
  • 打赏
  • 举报
回复
你可以试试给需要打印的文字加下划线,而不是先有横线再输内容

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧