Функция печати Javascript производит сценарий внутри div - PullRequest
0 голосов
/ 21 января 2019

У меня есть функция для печати:

<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

Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Вместо этого я использую этот код JavaScript.Это работает.

 function printdiv(elem) {
    var mywindow = window.open('', 'PRINT', 'height=400,width=600');

    mywindow.document.write('<html><head><title></title>');
    mywindow.document.write('</head><body >');
    mywindow.document.write('<h1>' + document.title + '</h1>');
    mywindow.document.write(document.getElementById(elem).innerHTML);
    mywindow.document.write('</body></html>');

    mywindow.document.close(); // necessary for IE >= 10
    mywindow.focus(); // necessary for IE >= 10*/

    mywindow.print();
    mywindow.close();

    return true;
0 голосов
/ 21 января 2019

Попробуй это.Это происходит, когда у вас есть правильный 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...