0

我有一個調用Web服務的AutoCompleteExtender。 AutoCompleteExtender工作良好,目標文本框(tb_provider1)具有GetProviders函數的自動完成功能。我想在選擇TextBox的自動完成文本(tb_provider1)時調用一個javascript函數。我已經使用了OnClientItemSelected並且在IE9中調用正確完成。下面是ASPX代碼:AutoCompleteExtender OnClientItemSelected不工作在IE8(在IE9中工作)[javascript substring]

<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

嘗試訂閱文本框客戶端'onchange'事件 –

+0

Yuriy,謝謝你的迴應。我不知道onchange事件,並將在未來考慮。謝謝。 –

回答

1

我不知道你可以在IE9中按F12並改變瀏覽器模式。這樣做後,我用斷點,並意識到它不是得到的JavaScript,但JavaScript substr方法返回不同的結果在IE8和IE9。所以OnClientItemSelected正在工作,它在我的方法調用中失敗。在IE中使用F12進行調試在這裏很大,因爲使用「substring」(而不是「substr」)。

相關問題