键入预置和服务器端文本更改事件未正确同步

本文关键字:事件 同步 文本 服务器端 | 更新日期: 2023-09-27 18:32:41

>我有一个文本框,它将Typeahead(自动完成)和服务器端onTextChanged事件绑定到同一个文本框。这两个事件未正确同步。当我单击一些名为"a"的文本时,显示诸如"Apple"之类的建议,我选择"Apple"表示仅在服务器(代码隐藏)OnText 更改的 mehtod 捕获的文本"a"。请给出一些想法来解决此问题。

 <asp:TextBox ID="txtEntityId1" name="txtEntityId1" placeholder="Search" style="width: 273px"  class="nav-search-input" runat="server" onTextChanged="text_changed" AutoPostBack="true" AutoComplete="Off"></asp:TextBox>

var EntityText = document.getElementById('<%=txtEntityId1.ClientID %>');
            try {
                $(EntityText).typeahead({
                    source: entityName,
                    updater: function (item) {
                        $(EntityText).focus();
                        return item;
                    }
                });
            } catch (e) { alert(e.Message + " , " + e.InnerException); }
protected void text_changed(object sender, EventArgs e)
        { 
            string EntityName = txtEntityId1.Text;
            if (EntityName != "")
            {
       }
                else
                {   //Added Check for Invalid Entity Error Message.
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "bootbox.alert('<h4 class='"blue'">Select Valid Entity</h4>', function() {});", true);
            }
}

键入预置和服务器端文本更改事件未正确同步

TextChanged 在发生模糊事件时触发,并回发 value 属性中的任何内容。 使用调试器确定输入值是什么,并检查所有内容是否已连接。 插件可能不会更新文本框的值属性;这些小部件有时不会按照您的预期运行,因此您必须确保输入的值正在更新。

您能否检测该值在保存单击期间是否有效,还是在客户端上有效?