2

在我的ASP.Net MVC项目中,我曾经window.print()允许用户打印当前页面。但是,当我对其进行Windows XP组合测试时IE 8,我发现实际打印显示所有单选按钮都重置为原始默认选择。

例如,如果有一组 3 个单选按钮说“每月”、“每季”和“每年”,并且默认选择“每月”,那么即使我在打印页面之前选择“每年”,实际打印输出也会显示“每月”作为选择。但在网页上,此选择仍为“每年”。

我还使用IE 9设置为“IE 8”的模式对其进行了测试,但它不会被复制。打印输出单选按钮内部重置的原因可能是什么?这与浏览器兼容性有关吗?

这是我页面中一组这样的按钮的 HTML:

<div>
     <input type="radio" id="freq-month" name="repayments" checked="checked" value="Monthly" />
     <label for="freq-month">Monthly</label>

     <input type="radio" id="freq-fortnight" name="repayments" value="Fortnightly" />            
     <label for="freq-fortnight">Fortnightly</label>

     <input type="radio" id="freq-week" name="repayments" value="Weekly" />
     <label for="freq-week">Weekly</label>
</div>
4

1 回答 1

0

这是 IE<9 中的已知限制。

一种解决方法是打印图像而不是单选按钮。为选中和未选中按钮使用两个不同的图像,并通过声明 @media print { } 将它们设置为仅在打印时可见。然后每当用户选择不同的值时切换它们。

于 2013-11-01T17:32:11.917 回答