日期:2014-05-16  浏览次数:20665 次

document.getElementById取不到AjaxToolkit控件? - Web 开发 / Ajax
最近要用自动完成功能,我用AjaxToolkit的AutoCompleteExtender,需要动态为contextKey赋值。
HTML code

<asp:TextBox ID="tbTeamNo" CssClass="text" runat="server" onclick="GetTeamOfBranch();"></asp:TextBox>
                                <asp:AutoCompleteExtender ID="acTeamNo" runat="server" TargetControlID="tbTeamNo"
                                    EnableCaching="false" UseContextKey="true" MinimumPrefixLength="2" ServicePath="../Service/Service.asmx"
                                    ServiceMethod="GetTeam">
                                </asp:AutoCompleteExtender>

function GetTeamOfBranch() {
            var ddBranchNo = document.getElementById("ddBranchNo");
            var acTeamNo = document.getElementById("acTeamNo");
            
            if (acTeamNo != null)
                acTeamNo.set_contextKey("1001");
        }



GetTeamOfBranch函数中我始终都取不到控件,document.getElementById("acTeamNo")为null,换成<%=acTeamNo.ClientID%>还是一样。而且ddBranchNo 是能够取到的。

有谁知道什么原因么?万分感谢!

------解决方案--------------------
试着获取父类框架
------解决方案--------------------
你看下页面生成的html 代码
------解决方案--------------------
$find 

 Have no associated DOM elements
----------------------------------------

http://blogs.msdn.com/irenak/archive/2007/02/19/sysk-290-asp-net-ajax-get-vs-find.aspx