AutoCompleteExtender OnClientItemSelected не работает в IE8 (работает в IE9) [подстрока javascript]

У меня есть AutoCompleteExtender, который вызывает веб-службу. AutoCompleteExtender работает хорошо, а Target TextBox (tb_provider1) имеет функцию автозаполнения из функции GetProviders. Я хотел бы вызвать функцию javascript при выборе текста автозаполнения TextBox (tb_provider1). Я использовал 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">

And here is the 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 ничего не происходит. Любая помощь?


person chi-hawk    schedule 28.11.2011    source источник
comment
Попробуйте подписаться на событие onchange на стороне клиента textbox   -  person Yuriy Rozhovetskiy    schedule 28.11.2011
comment
Юрий, спасибо за ответ. Я не знал о событии onchange и учту это в будущем. Спасибо.   -  person chi-hawk    schedule 29.11.2011


Ответы (1)


Я не знал, что вы можете нажать F12 в IE9 и изменить режим браузера. После этого я использовал точки останова и понял, что дело не в javascript, а в том, что метод substr javascript возвращает разные результаты в IE8 и IE9. Таким образом, OnClientItemSelected работал, но при вызове моего метода он не работал. Использование F12 в IE для отладки было здесь большим, как и использование «подстроки» (вместо «подстроки»).

person chi-hawk    schedule 29.11.2011