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

本文关键字:文本 显示 输入 另一个 | 更新日期: 2023-09-27 18:24:28

我正在asp.net中编写一个web应用程序。我有两个文本框,一个字段用于txtEmployeeID,另一个字段则用于txtEmployeeName。我在Page_Load事件中将EmployeeName文本框设置为只读。在我的程序中,我已经连接到我的数据库并设置了我的存储过程。我现在想要的是,当我在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>

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

如果您想使用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;
    }

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