gpt4 book ai didi

jquery - 在 jquery 代码中更改文本框值时,不会触发 asp.net 文本框更改事件

转载 作者:行者123 更新时间:2023-12-01 08:00:23 24 4
gpt4 key购买 nike

我有三个文本框,名字 txtFirstName、姓氏 txtLastName 和 AD 用户 ID txtADUserID。每当名字或姓氏发生更改时,我都会在 Jquery 代码中分配 AD 用户 id 值。我在浏览器中看到 ADUserID 文本框值已更改。

问题:我需要检查 txtADUserID 的 ontextchanged 服务器端事件中是否已存在用户 ID。 OnTextChanged 事件根本不会被触发,也不会引发回发。

ASP.net 代码

<asp:TextBox ID="txtADUserID" runat="server" MaxLength="255" ClientIDMode="Static" OnTextChanged="txtADUserID_TextChanged" AutoPostBack="true"></asp:TextBox>

Jquery 代码:

 $(document).ready(function () {
$("#txtFirstName").on('change', function () {
$('#txtADUserID').val($('#txtFirstName').val().charAt(0) + $('#txtLastName').val());
});
$("#txtLastName").on('change', function () {
$('#txtADUserID').val($('#txtFirstName').val().charAt(0) + $('#txtLastName').val());
});
});

代码背后的代码:

    protected void txtADUserID_TextChanged(object sender, EventArgs e)
{
// Raise an error if user already exist
}

最佳答案

您正在通过 JavaScript 更改文本,而无需用户交互,这就是您没有获得服务器端回发的原因。您可以添加一个按钮并将服务器端事件绑定(bind)到该按钮,并在需要回发时执行按钮单击。还将 textboxvalue 存储在某个隐藏字段中,因为您不会在服务器端获取更新的 textbox 值.

$(document).ready(function () {
$("#txtFirstName").on('change', function () {
$('#txtADUserID').val($('#txtFirstName').val().charAt(0) + $('#txtLastName').val());
$('#buttonId').click();
});
$("#txtLastName").on('change', function () {
$('#txtADUserID').val($('#txtFirstName').val().charAt(0) + $('#txtLastName').val());
$('#buttonId').click();
});
});

关于jquery - 在 jquery 代码中更改文本框值时,不会触发 asp.net 文本框更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20208982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com