在我的 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>
最佳答案
这是 IE<9 中的已知限制。
一种解决方法是打印图像而不是单选按钮。对已选中和未选中的按钮使用两个不同的图像,并通过声明@media print { } 将它们设置为仅在打印时可见。然后在用户选择不同的值时切换它们。
关于html - IE8 上的 window.print() 重置单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18872760/