通过onbeforeprint事件,在打印之前检测表格,将域中没填的行隐藏
在onafterprint事件中,当隐藏的行在显示function window_onbeforeprint()
{
for(i=0;i<tbl.rows.length;i++)
{
var ii = false;
for(j=0;j<tbl.rows[i].cells[j].length;j++)
{
if(tbl.rows[i].cells[j].all.tags("INPUT")[0].value=="")
{ii=true;break;}
}
if(ii){tbl.rows[i].style.display="none";i--);
}
}
window_onafterprint() 要简单一点,只要把行的display属性都置为""就行在body中加入 onbeforeprint="window_onbeforeprint()" onafterprint="window_onafteprint()"
在onafterprint事件中,当隐藏的行在显示function window_onbeforeprint()
{
for(i=0;i<tbl.rows.length;i++)
{
var ii = false;
for(j=0;j<tbl.rows[i].cells[j].length;j++)
{
if(tbl.rows[i].cells[j].all.tags("INPUT")[0].value=="")
{ii=true;break;}
}
if(ii){tbl.rows[i].style.display="none";i--);
}
}
window_onafterprint() 要简单一点,只要把行的display属性都置为""就行在body中加入 onbeforeprint="window_onbeforeprint()" onafterprint="window_onafteprint()"
document.onkeydown = printornot;
function printornot(){
var obj = event.srcElement
if(obj.type=="text"&&obj.value!=""){
obj.parentElement.parentElement.className = "";
}
}
</script>
<style>
@media print {
.noprint {display:none}
}
</style>
<table>
<tr class="noprint"><td>
<input type=text>
</td></tr>
<tr class="noprint"><td>
<input type=text>
</td></tr>
</table>