Javascript打印页面

时间:2011-03-24 16:52:03

标签: javascript jquery printing

您好我有一个调查页面(survey.aspx),其中包含问题和答案。 一些答案有单选按钮和复选框。 此页面有一个打印按钮。当用户点击打印按钮时 另一页(survey_print.aspx)打开了打印内容。 我在打印页面中有所有内容单选按钮和复选框。 但是如何在打印页面中显示选中的单选按钮和复选框。 这必须使用Javascript或jquery完成。 知道如何做到这一点。 提前致谢

3 个答案:

答案 0 :(得分:1)

作为替代方案,您可以在调查页面上使用print stylesheet,从而无需单独survey_print.aspx

通过使用打印样式表,如果用户单击其浏览器的打印按钮(或按 Ctrl + P ),您还可以获得正常工作的好处。您只需更改页面的打印按钮即可拨打window.print()

答案 1 :(得分:1)

只要两个页面都来自同一个网站,一个脚本就会影响另一个。这是一个例子:

function printForm() {
    var preview = window.open(urlPrint);
    var inputs = document.forms.myForm.elements;
    var previewInputs = preview.document.forms.myForm.elements;

    for (var i = 0; i < inputs.length; i++) {
        var input = inputs[i];
        var previewInput = previewInputs[i];

        if (input.checked) previewInput.checked = true;
        if (input.selected) previewInput.selected = true;
    }

    preview.print();
}

我已将a working example放在jsFiddle上(尽管它使用document.write()而不是单独的网址创建预览窗口。)

document.formshttps://developer.mozilla.org/en/DOM/document.forms

form.elementshttps://developer.mozilla.org/en/DOM/form.elements

答案 2 :(得分:0)

您必须将所选值发送到打印页面(作为POST或GET参数)。如果您使用的是jQuery,可能需要查看click函数和:input选择器。

另一个想法是完全省略打印页面并为print media type提供一些CSS。此样式仅用于打印视图(您可以隐藏网站导航,页眉,页脚等)。

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