【问题标题】:printing a HTML form打印 HTML 表单
【发布时间】:2010-10-25 20:41:35
【问题描述】:

我正在尝试使用 javascript 打印页面,它工作正常,但问题来自其中的页面 havign 表单。如果我们打印正在打印的表单值很好,但我们得到的是 html 控件(如 input ,dropdown)也正在打印。 除了服务器端处理之外,有人可以有其他想法吗

【问题讨论】:

    标签: javascript html css printing


    【解决方案1】:

    您可以像这样将打印样式表附加到您的页面...

    <link rel="stylesheet" href="print.css" media="print"/>
    

    然后在打印样式表中可以指定...

    input, select
    {
        display: none;
    }
    

    这将隐藏您的表单控件元素,但仅在打印页面时。您还可以通过隐藏导航和链接来扩展此功能,即在您的网页的印刷版上无用的任何内容

    编辑:正确地指出,如果您仍想在文本框等中显示值,您可以将边框样式属性设置为“无”(+任何您认为合适的样式声明)并且仅隐藏打印时无用的元素,例如按钮

    【讨论】:

    • 这也会隐藏控件中的值。您是否需要使值可见,但要隐藏控件?
    • 但是这个想法是有效的。只需在打印版本中为要打印其值的输入设置border-style:none而不是display:none,并为要隐藏的按钮等设置display:none。
    • 是的,我知道 css 的想法,但设置边框是一个聪明的技巧,我会检查一下,
    【解决方案2】:

    您可以为打印和屏幕显示提供不同的 css。

    在您的打印 css 中,您可能可以通过将边框设置为空、将背景设置为白色等来摆脱大多数 html 控件的可见部分。不过,我还没有尝试过以这种方式摆脱所有东西,所以你最终可能还是会得到一些奇怪的东西。不过值得一试。

    【讨论】:

      【解决方案3】:

      是的。您必须定义支持media="print" 的不同CSS 样式。用于打印的 CSS 将隐藏适当的控件并显示静态字段。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-07
        • 2015-05-23
        • 2013-05-18
        • 1970-01-01
        相关资源
        最近更新 更多