gpt4 book ai didi

internet-explorer - 使用 DocType 打印页面在 IE 中显示未更改的复选框

转载 作者:行者123 更新时间:2023-12-04 09:01:01 25 4
gpt4 key购买 nike

奇怪的问题。我有一个简单的网络表单,用户可以在其中填写文本并选中/取消选中某些复选框。当在 IE(7 或 8)中将其打印为 pdf 或纸张(或打印预览)时,复选框将保持不变。例如。用户设置了一个检查,这被打印为未选中......或者带有一个预先选中的框,用户未选中,被打印为选中。

radio 也是一样。

只有当我完全删除 DocType 时,IE 才能正确打印它。但我需要使用 XHTML-strict。

这是一个在 IE 中失败的简单示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="nl" xml:lang="nl-NL">
<body>
<input type='checkbox' name='y'/><br/>
<input type='radio' name='x'/><br/>
</body>
</html>

不适用于我测试的任何文档类型(松散或 html4)。

任何人都知道如何解决这个问题?

非常感谢,
迈克尔

最佳答案

原来是IE8的一个bug:
http://webbugtrack.blogspot.com/2009/04/bug-444-ie8-printing-issues-in.html

打开“兼容性 View ”没有这个问题。

解决方案是在标题中添加以下内容:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

当 IE9 出现时,这会破坏验证并出现问题。

JavaScript 的其他“不错”解决方法也适用:
<input type='checkbox' name='y' onclick='SetCheck(this)'/>
.....

function SetCheck(el)
{
if(el)
{
if(el.checked) el.setAttribute('checked','checked');
else el.removeAttribute("checked");
}
}

但是当你不能依赖 javascript 被打开时,你就被微软搞砸了。

关于internet-explorer - 使用 DocType 打印页面在 IE 中显示未更改的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3591464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com