javascript - 为什么通过 Javascript 更改文本框的文本不会触发 Asp .Net 中的 OnTextChanged

标签 javascript c# jquery asp.net asp.net-4.0

我使用的是 Visual Studio 2012。它包含以下文本框:

<asp:TextBox ID="txtdate" runat="server" OnTextChanged="txtdate_TextChanged" AutoPostBack="true"></asp:TextBox>
<img src="../img/scw.gif" title='Click Here' alt='Click Here' onclick="scwShow(scwID('ContentPlaceHolder1_txtdate'),this); setcalender();" />

单击图像后,将打开日历,用户可以在其中选择日期。现在,如果我通过键入手动输入日期,然后按 Enter 键,则会调用 txtdate_TextChanged 方法,但必须使用日历来完成更改。所以我想知道为什么以及浏览器/服务器如何能够检测到 JavaScript 正在完成更改。

有什么方法可以在 JavaScript 中调用 txtdate_TextChanged 方法吗?

提前致谢。

最佳答案

正如您所说,您单击图像而不是文本框,这意味着文本框永远不会成为焦点,并且如果与服务器端函数一起调用,JavaScript 函数不会触发服务器端函数,例如

  <asp:Button runat ="server" ID="btn" OnClick="btn_Click" OnClientClick="return check();" />

在 javascript 函数 check() 中进行验证并返回 true。

因此,您必须在日历的 onclick 事件上使用 JavaScript 执行此操作

__doPostBack("txt_sssn_dt", "TextChanged");

关于javascript - 为什么通过 Javascript 更改文本框的文本不会触发 Asp .Net 中的 OnTextChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41674318/

相关文章:

c# - CSharp 通过可空枚举进行枚举

javascript - 带有分块请求正文的 XmlHttpRequest?

javascript - 如何在网络版谷歌地图中获取当前位置

javascript - TypeScript 构造函数类型安全

javascript - 未捕获的类型错误 : Cannot read property 'getSelection' of null

javascript - 将值保存在 <a> 属性中并再次获取该值

javascript - 无法选择 tr 不包含 jquery 中的元素

javascript - document.open 删除所有窗口监听器

c# - 请举例说明托管代码中的内存泄漏?

c# - 在c#中检查线程是否正在运行