问题在于您的服务器端代码,而不是浏览器或 JavaScript。
如果您在 IE10 中检查 JavaScript 控制台,您将在单击链接时看到以下错误:
SCRIPT5009:“ValidatorValidate”未定义
指向函数中的第二行:
function doSearch() {
var regExValidate = document.getElementById("ctl00_BrokerSearchMiddle_ctl00_ValidPostalCode");
ValidatorValidate(regExValidate);
var postalCode = $find("ctl00_BrokerSearchMiddle_ctl00_PostalCode").get_value();
if (regExValidate.isvalid && postalCode.indexOf("e.g") == -1) {
document.location.href = "?postalCode=" + postalCode;
}
}
这意味着onclick
它工作得很好,你只是有 JS 错误。
现在的问题是为什么ValidatorValidate
在其他浏览器(甚至 IE9)中存在但在 IE10 中不存在。好吧,在 IE10中定义它的脚本不包括在内,这意味着服务器永远不会将<script src="...">
带有该 URL 的行作为输出到浏览器的一部分。
我只能猜测服务器端代码正在检查浏览器版本,并据此包含某些脚本。检查该代码并摆脱这样的事情,因为它从来都不是一个好主意。
经过一番研究,我发现了发生了什么。您正在使用 Sitefinity 3.7 版来构建您的网站(根据您的这个问题),正如官方所述:
我想通知您,很遗憾 Sitefinity 3.7 不支持 Internet Explorer 10,您的 Sitefinity 3.7 可能无法在此浏览器版本上正常工作。造成的不便,深表歉意
如果您需要 IE10 支持,则必须升级您的 Sitefinity。