【发布时间】:2012-08-24 14:03:29
【问题描述】:
我有一个从 javascript 函数填充的 asp:TextBox,但是当这种情况发生时,服务器端 TextChanged 事件不会被触发,只有当我用键盘更改文本时才会触发。
有解决办法吗?为什么在 asp.net 中客户端/服务器集成如此痛苦?
(AutoPostBack 设置为 true)
谢谢
【问题讨论】:
标签: javascript asp.net events
我有一个从 javascript 函数填充的 asp:TextBox,但是当这种情况发生时,服务器端 TextChanged 事件不会被触发,只有当我用键盘更改文本时才会触发。
有解决办法吗?为什么在 asp.net 中客户端/服务器集成如此痛苦?
(AutoPostBack 设置为 true)
谢谢
【问题讨论】:
标签: javascript asp.net events
方式一:
function DoPostBack()
{
__doPostBack("txt_sssn_dt", "TextChanged");
}
Calling ASP.NET server-side events using JavaScript
方式 2:
Calling Server Side function from Client Side Script
方式 3:
这样设置焦点丢失的方法之一
function texboxchange() {
var txtBox = document.getElementById('<%= TextBox4.ClientID %>');
var count = txtBox.value.length;
if (count == 2)
{
document.getElementById('<%= TextBox12.ClientID %>').focus();
return true; // this will call textbox changed event.
}
}
【讨论】:
您可以在 JS 函数中使用 __doPostBack('footxtBox','TextChanged'); 强制它触发。
【讨论】: