为什么通过 Javascript 更改文本框的文本不会触发 Asp .Net 中的 OnTextChanged
Why changing text of Textbox by Javascript does not trigger OnTextChanged in Asp .Net
我正在使用 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();" />
单击图片会打开一个日历,用户可以在其中 select 日期。现在,如果我通过键入手动输入日期,然后按 Enter 键,将调用 txtdate_TextChanged
方法,但必须使用日历来完成更改。所以我想知道 browser/server 为什么以及如何检测到 Javascript 正在完成更改。
还有什么方法可以调用 javascript 中的 txtdate_TextChanged
方法。
提前致谢。
正如您所说,您点击的是图像而不是文本框,这意味着文本框从未处于焦点状态,并且 javascript 函数如果与服务器端一起调用则不会触发服务器端函数功能如
<asp:Button runat ="server" ID="btn" OnClick="btn_Click" OnClientClick="return check();" />
在 javascript 函数 check() 中进行验证,return 为真。
因此您必须在 javascript 日历的 onclick 事件中执行此操作
__doPostBack("txt_sssn_dt", "TextChanged");
我正在使用 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();" />
单击图片会打开一个日历,用户可以在其中 select 日期。现在,如果我通过键入手动输入日期,然后按 Enter 键,将调用 txtdate_TextChanged
方法,但必须使用日历来完成更改。所以我想知道 browser/server 为什么以及如何检测到 Javascript 正在完成更改。
还有什么方法可以调用 javascript 中的 txtdate_TextChanged
方法。
提前致谢。
正如您所说,您点击的是图像而不是文本框,这意味着文本框从未处于焦点状态,并且 javascript 函数如果与服务器端一起调用则不会触发服务器端函数功能如
<asp:Button runat ="server" ID="btn" OnClick="btn_Click" OnClientClick="return check();" />
在 javascript 函数 check() 中进行验证,return 为真。
因此您必须在 javascript 日历的 onclick 事件中执行此操作
__doPostBack("txt_sssn_dt", "TextChanged");