我有一个调用Web服务的AutoCompleteExtender。 AutoCompleteExtender工作正常,Target TextBox(tb_provider1)具有GetProviders函数的自动完成功能。我想在选择TextBox(tb_provider1)的自动完成文本时调用javascript函数。我使用了OnClientItemSelected,并且在IE9中正确完成了调用。这是ASPX代码:
<asp:AutoCompleteExtender ID="AutoComplete1"
runat="server" ServiceMethod="GetProviders"
ServicePath="AutoCompleteWebService.asmx" OnClientItemSelected="ProviderSelectedFunc"
TargetControlID="tb_provider1" CompletionSetCount="20"
CompletionInterval="250" CompletionListCssClass="CompletionListCssClass"
CompletionListItemCssClass="CompletionListItemCssClass"
CompletionListHighlightedItemCssClass="CompletionListHighlightedItemCssClass">
这是javascript
function ProviderSelectedFunc(sender, args) {
//here I know I am sending in tb_enrollingProvider1
var temp = sender._id.toString();
if (temp.substr(-14,13))
alert("Testing");
}
在IE9中,警报会触发。在IE7 / IE8中没有任何反应。有帮助吗?
答案 0 :(得分:1)
我不知道您可以在IE9中按F12并更改浏览器模式。在这之后,我使用断点并意识到它不是没有进入javascript但是javascript substr方法在IE8和IE9中返回不同的结果。所以OnClientItemSelected正在工作,它在我的方法调用中失败了。在IE中使用F12来调试很大,就像使用“substring”(而不是“substr”)一样。