在ASP.NET页面用户控件上使用jQuery设置输入字段焦点

时间:2011-08-25 16:36:45

标签: jquery asp.net focus ascx

如何使用jQuery从此页面设置焦点到TxtPassword输入字段? TxtPassword输入字段位于SaveCancelDelete用户控件中。

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="BatchDetails.aspx.vb"
    Inherits="Acu.UI.Web.AccessioningBatchDetails" MasterPageFile="~/Master" %>

<%@ Register TagPrefix="uc1" TagName="SaveCancelDelete" Src="/SecurityDisplay/SaveCancelDelete.ascx" %>
<%@ Register TagPrefix="uc1" TagName="BatchEditor" Src="BatchEditor.ascx" %>
<%@ Register TagPrefix="uc1" TagName="PageHTMLTop" Src="/PageHTMLTop.ascx" %>
<%@ Register TagPrefix="uc1" TagName="PageHTMLRight" Src="/PageHTMLRight.ascx" %>
<%@ Register TagPrefix="uc1" TagName="AccessioningHTMLLeft" Src="/Accessioning/AccessioningHTMLLeft.ascx" %>
<%@ Register TagPrefix="uibox1" Namespace="Acu.UI.Web" Assembly="Acu.UI.Web" %>

<asp:Content runat="server" ID="headcontent" ContentPlaceHolderID="head">
</asp:Content>
<asp:Content runat="server" ID="bodycontent" ContentPlaceHolderID="body">
    <uc1:PageHTMLTop id="PageHTMLTop" runat="server" />
    <uibox1:UIBox ID="BxWizardTitle" runat="server" Width="100%">
        <uc1:AccessioningHTMLLeft id="AccessioningHTMLLeft" title="Accessioning Dashboard"
            runat="server" />
        <uc1:BatchEditor ID="BatchEditor" runat="server" />
        <uc1:PageHTMLRight id="PageHTMLRight" runat="server" />
    </uibox1:UIBox>
    <uc1:SaveCancelDelete id="SaveCancelDelete" runat="server" />

    <script type="text/javascript">

    jQuery(document).ready(function() {
        //jQuery('#<%=TxtPassword.ClientID %>').focus();  
        //jQuery("#ctl00_body_SaveCancelDelete_TxtPassword").focus();
    });

    </script>

</asp:Content>

3 个答案:

答案 0 :(得分:4)

[name$=""]选择器搜索名称以引号中指定的名称结尾的控件。

$('input[name$="TxtPassword"]').focus(); 

答案 1 :(得分:1)

使用属性包含(*=)选择器。

jQuery(document).ready(function() {
    jQuery("input[id*='TxtPassword']", $("[id*='SaveCancelDelete'")).focus();  
});

答案 2 :(得分:1)

您需要uc1上的属性:SaveCancelDelete,它为您提供了passwort控件的客户端ID,因为您需要它。另一方面,如果密码字段是usercontrol的visible属性,则可以使用服务器端代码从代码隐藏中调用SaveCancelDelete.PasswordInputControl.Focus();