如何在javascript中打印IE9中的文本框内容

时间:2013-09-20 09:12:56

标签: javascript

当用户在运行时输入值时,我必须使用JavaScript打印带有其值的文本框,但下面的代码与IE9不兼容+ textbox在div标签内

Print:function()
{
     var divtoprint = document.getElementById('div1');

     var popupWin = window.open('', '_blank', 'width=500,height=400');
     popupWin.document.open();
     popupWin.document.write('<html><body onload="window.print()">' + divtoprint.innerHTML + '</html>');
     popupWin.document.close();
 }

请帮忙吗?

3 个答案:

答案 0 :(得分:1)

我改变了:

<!DOCTYPE html>
<html>
<head>
<script>
function print(){
     var divtoprint = document.getElementById('main-div').innerHTML;
     alert(divtoprint);
     var popupWin = window.open('', '_blank', 'width=500,height=400');
     popupWin.document.open();
     popupWin.document.write('<html><body onload="window.print()">' + divtoprint + '</html>');
     popupWin.document.close();
 }
</script>
</head>
<body>
 <div>
 <div id="main-div">
    <input type="text" name="FirstName" value="Mickey">
    </div>
    <input type="button" value=" Print Terms " onClick="print()">
</div>

</body>
</html>

它在ie9中工作f9,即10。

这是我的ie 10中的屏幕截图:

enter image description here

并且:enter image description here

答案 1 :(得分:0)

IE对html有一些严格的验证。 Chrome,Firefox和其他浏览器都不那么严格。

在您的代码中,您缺少结束正文标记。 您需要使用此标记,并确保您的代码可以在IE中使用。

替换:

popupWin.document.write('<html><body onload="window.print()">' + divtoprint.innerHTML + '</html>');

人:

popupWin.document.write('<html><body onload="window.print()">' + divtoprint.innerHTML + '</body></html>');

在该行的末尾,我添加了结束标记。

答案 2 :(得分:0)

我真的怀疑说实话可以做到这一点。此外,打印网页的一种常见做法是附加一个打印样式表,在该样式表中隐藏除要打印的元素之外的所有元素。 这是一篇很好的博客文章:
print stylesheets

这是一个简单的例子:

<!DOCTYPE html>
<html>
<head>
    <style media="print">
        .noprint { display: none; }
    </style>
</head>
<body">
    <div>
        <div id="main-div">
            <input type="text" id="mytextbox" name="FirstName" value="Mickey"/>
        </div>
        <input type="button" class="noprint" value=" Print Terms " onClick="window.print()">
    </div>
</body>

现在,如果您的用户在浏览器中进入“打印预览”,他们将看不到“打印”按钮(与页面上点击“打印”按钮时打印页面的方式相同)

我希望这会对你有帮助。