首页 > 解决方案 > Javascript 打印函数在 div 内生成脚本

问题描述

我有一个打印功能:

<script language="javascript">
function printdiv(printpage) {
    var headstr = "<html><head><title></title></head><body>";
    var footstr = "</body>";
    var newstr = document.all.item(printpage).innerHTML;
    var oldstr = document.body.innerHTML;
    document.body.innerHTML = headstr + newstr + footstr;
    window.print();
    document.body.innerHTML = oldstr;
    return false;
}

在我的 cshtml 文件中:

<button type="button" onClick="printdiv('div_print');">Print</button>

<div id="div_print">@Html.ActionLink("Test","Nil","Nil")</div>

当我单击按钮打印时,它就会出现。

Test (/Nil/Nil)

我希望它只打印

Test

我怎样才能解决这个问题?

标签: javascriptasp.netprinting

解决方案


尝试这个。当您在锚标记中有正确的 href 时,就会发生这种情况。如果我们将其设置为 # 它将起作用。

<script language="javascript">
function printdiv(printpage) {
    var headstr = "<html><head><title></title></head><body>";
    var footstr = "</body>";
    document.getElementsByTagName('a')[0].setAttribute("href","#")
    var newstr = document.all.item(printpage).innerHTML;
    var oldstr = document.body.innerHTML;
    document.body.innerHTML = headstr + newstr + footstr;
    window.print();
    document.body.innerHTML = oldstr;
    return false;
}
</script>

推荐阅读