2009-11-18 69 views

回答

1

更改控制trueAutoPostback屬性。這將陷入標籤鍵,這是因爲控制失去焦點。

我懷疑是否有一個很好的方法來捕捉這個輸入鍵,除非你打算打開源代碼並進行一些修改。

<ajaxToolkit:ComboBox ID="ComboBox1" runat="server" 
    AutoPostBack="True" 
    DropDownStyle="DropDownList" 
    AutoCompleteMode="SuggestAppend" 
    CaseSensitive="False" 
    CssClass="" 
    ItemInsertLocation="Append" ... > 
+0

不幸的是,我已經嘗試過,並沒有工作。我曾嘗試過其他房產,但也沒有成功。 – 2009-11-18 02:46:47

+0

如果AutoPostBack = true,Tab鍵在演示中起作用。大多數不知道這些的人只需點擊提交按鈕。 – 2009-11-18 02:50:34

2

我面臨同樣的問題,解決了這個問題:

您必須設置AutoPostBack屬性爲「假」,如果你不想被點擊兩次按鈕。

1

湯姆,楊是對的,它發生在我之前。你只需要將你的autopostback設置爲false。所以,可能你需要將ComboBox autopostback設置爲false。

0

我設法解決這個問題,下面的代碼:

在你的aspx文件,ComboBox控件將是:

<ajaxToolkit:ComboBox ID="cbCountries" CssClass="AquaStyle2" runat="server" AutoPostBack="true" DropDownStyle="DropDownList" 
     AutoCompleteMode="SuggestAppend" CaseSensitive="False" ItemInsertLocation="Append" onkeydown="FireEnterKey(this, event)" /> 

然後,添加引用的JavaScript文件,並添加有以下功能:

function FireEnterKey(elem, evt) { 
    var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode; 

    if (keyCode != 13) 
     return; 

     var belem = $get(elem.attributes.id.value + "_Button"); //ctl00_ContentPlaceHolder1_cbCountries_Button 
     var telem = $get(elem.attributes.id.value + "_TextBox"); //ctl00_ContentPlaceHolder1_cbCountries_TextBox 

     if (navigator.userAgent.search("Firefox") >= 0) { 
      elem.onchange(); 
     } 
     else if (navigator.userAgent.search("MSIE") >= 0) { 
      elem.onchange(); 
      telem.blur(); 
     } 
     else { // Opera, Safari, Chrome 
      telem.blur(); 
     } 
} 

我希望我的代碼能夠回答你的問題。

相關問題