gpt4 book ai didi

validation - IE10兼容模式输入类型=email/url/number

转载 作者:行者123 更新时间:2023-12-03 16:25:35 24 4
gpt4 key购买 nike

使用较旧的 IE(IE8、IE7),您可以使用现代输入类型(电子邮件、网址、数字等)并使用 JS poly-fill 来实现 HTML5 之类的表单验证。

在 IE10 兼容模式下,这些电子邮件/url 输入类型恢复为 type="text",导致这些 poly-fill 出现问题

HTML:

<input type="email" id="test1" />
<input type="url" id="test2" />
<input type="text" id="test3" />

JS:
// IE7, IE8, IE8 compatibility mode this will be "email"    
console.log($("#test1").attr("type"));

//IE10 standards, IE10 compatibility (7,8,9), this will be "text"
console.log($("#test1").attr("type"));

required 属性也有类似的问题。您可以通过分析 .attributes 属性来解决这个问题(在 IE10 兼容模式下,显示两个必需的属性,一个是字符串,一个是整数),例如:
function check(el){

var req, type, attr,
attrs = el.attributes;

for (var i = 0, l = attrs.length; i < l; i++) {
attr = attrs.item(i);
if (attr.nodeName === "required" || attr.nodeName === "type") {

console.log("name : " + attr.nodeName);
console.log("value : " + attr.nodeValue);
console.log("type of nodeValue: " + (typeof attr.nodeValue));

}
}
}

但是没有运气类型属性被复制并显示预期值。兼容模式只是fubar吗?请不要就如何强制 IE 进入标准模式提出建议。文档模式是通过我们(大型)公司内部的 HTTP header 控制的。

最佳答案

这之前 question / answer似乎有你要找的信息。请注意,第二个答案特别提供了一个 fork 的 jQuery 验证插件,该插件旨在弥补已知问题。

关于validation - IE10兼容模式输入类型=email/url/number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473348/

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