根据在另一个文本框中输入的文本在文本框中显示文本

时间:2015-11-25 02:39:05

标签: javascript c# jquery asp.net

我正在asp.net中编写一个Web应用程序。我有两个文本框,一个字段用于txtEmployeeID,另一个字段用于txtEmployeeName。我将EmployeeName文本框设置为Page_Load事件中的readonly。在我的程序中,我已连接到我的数据库并设置我的存储过程。我现在想要的是当我在EmployeeID文本框中输入ID时,相应的EmployeeName文本框应显示在该文本框中的员工姓名中。

例如。在我的数据库中,我有

employeeID: 000123 
employeeName: Jimmy

如果我在txtEmployeeID中键入000123,则Jimmy将在txtEmployeeName中显示该名称。

我正在考虑使用JavaScript来实现这一目标。这就是我的想法,但它所做的只是将文本复制到一个文本框中,并在另一个文本框中显示相同的文本。

     function Text() {
        var txt1 = document.getElementById('<%= txtEmployeeID.ClientID %>').value;
        document.getElementById('<%= txtEmployeeName.ClientID %>').value = txt1;

     }

HTML代码:

<asp:TemplateField HeaderText="Employee ID">
       <EditItemTemplate>
              <asp:TextBox ID="txtEmployeeID" runat="server" Text='<%#Bind("Employee_ID") %>'
                Width="90px"></asp:TextBox>
       </EditItemTemplate>
       <ItemTemplate>
            <asp:Label ID="lblEmployeeName" runat="server" CssClass="GridInput" Text='<%#Bind("Employee_Name") %>'
                 Width="90px"></asp:Label>
        </ItemTemplate>
</asp:TemplateField>

1 个答案:

答案 0 :(得分:2)

如果你想使用OnTextChange事件,你可以这样做;

<asp:UpdatePanel ID="udpEmployee" runat="server">
    <ContentTemplate>
        <asp:TextBox ID="txtEmployeeID" runat="server" AutoPostBack="true" OnTextChanged="txtEmployeeID_TextChanged"></asp:TextBox>
        <asp:TextBox ID="txtEmployeeName" runat="server" ReadOnly="true"></asp:TextBox>
    </ContentTemplate>
</asp:UpdatePanel>

在代码背后;

protected void txtEmployeeID_TextChanged(object sender, EventArgs e)
    {
        //get employee name from DB
        string employeeName = GetEmployeeName(txtEmployeeID.Text);

        //set employee name on txtEmployeeName
        txtEmployeeName.Text = employeeName;
    }

我不确定您是如何连接到数据库的,因此无法提供获取值的示例。