Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从jquery文件访问母版页文本框?_Jquery_Master Pages - Fatal编程技术网

如何从jquery文件访问母版页文本框?

如何从jquery文件访问母版页文本框?,jquery,master-pages,Jquery,Master Pages,在母版页中,我有一个文本框。 <asp:TextBox ID="SearchTextBox" runat="server" class="searchtxtbox" onfocus="HideSearchWaterMark();" Text="Search" onblur="ShowSearchWaterMark(this);" /> TextBox SearchTextBox = this.FindControl("SearchTextBox") as TextBox;

在母版页中,我有一个文本框。

 <asp:TextBox ID="SearchTextBox" runat="server" class="searchtxtbox" onfocus="HideSearchWaterMark();" Text="Search" onblur="ShowSearchWaterMark(this);" />
TextBox SearchTextBox = this.FindControl("SearchTextBox") as TextBox;
            StringBuilder objStringBuilder = new StringBuilder();
            objStringBuilder.Append("<script type=\"text/javascript\" language=\"javascript\">\n");
            objStringBuilder.AppendFormat("var searchTextBox = '{0}';\n", SearchTextBox.ClientID);
            objStringBuilder.Append("</script>\n");
            this.Page.ClientScript.RegisterClientScriptBlock(GetType(), "RegisterVariables", objStringBuilder.ToString());
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "Global", this.ResolveClientUrl("~/Resources/Scripts/Search.js"));
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "Global", this.ResolveClientUrl("~/Resources/Scripts/jquery-1.4.2.js"));
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "Global", this.ResolveClientUrl("~/Resources/TagsScripts/jquery.autocomplete.js"));
当我运行我的应用程序时,我得到了对象引用未设置错误


请告诉我需要在哪里更改代码。

为了使用id选择器访问元素,在命名容器中必须使用ClientID,而在js文件中则不能使用该id选择器。所以最好尝试使用类名获取元素,比如

$("input:text.searchtxtbox")

您需要在母版页上调用FindControl:

TextBox SearchTextBox = MasterPage.FindControl("SearchTextBox") as TextBox;

norder要使用id选择器访问元素,在命名容器中必须使用ClientID,而在js文件中则不能使用该id选择器。所以最好尝试使用类名获取元素,比如

$("input:text.searchtxtbox")
$(“输入:text.searchtxtbox”)

链接