我在Asp.Net用户控件中有一个定位点。我已经将一些代码连接到onclick事件。由于Internet Explorer 10中的某些原因,该事件未触发。标记的结构为
<a href="#" id="myAnchor" onclick="myFunction();return false;"></a>
其中myFunction是一个简单的JavaScript函数。对于那些想要查看实际页面的人,这里是链接:
http://alt.thedominion.ca/TheBrokerAdvantage/LocateABroker.aspx
任何帮助是极大的赞赏!
最佳答案
问题出在服务器端代码,而不是浏览器或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中不包含the script where it's being defined,这意味着服务器永远不会将带有该URL的行<script src="...">
作为浏览器输出的一部分。我只能猜测服务器端代码正在检查浏览器版本,并且据此包括某些脚本。检查该代码,并摆脱掉那些绝不是好主意的东西。
经过研究,我发现发生了什么事。您正在使用Sitefinity 3.7版来构建您的网站(根据this question of yours)并以正式的stated here身份构建:
谨在此通知您,很遗憾,Sitefinity 3.7不支持Internet Explorer 10,并且您的Sitefinity 3.7可能无法与此浏览器版本一起正常使用。不便之处敬请原谅
如果需要IE10支持,则必须升级Sitefinity。