【发布时间】:2012-12-05 21:19:26
【问题描述】:
我将在我的问题开始前声明,我对 ASP 和 VB 编程还很陌生,还没有接触过所有必须提供的语言和框架。
我正在使用 VB 构建一个 ASP 站点,我有特定的要求要遵循。在有问题的表单部分中,一系列文本框收集了项目的数量。回发时,数量用于重新计算总计。所有这些控件都能完美地执行计算。
对于这个表单,我使用 OnChange Javascript 事件在其中任何一个被修改时触发回发。这也可以正常工作。但是,当用户在被更改的文本框之外单击或使用选项卡并触发回发时,似乎没有任何控件具有焦点。
如果用户单击另一个控件,我需要将焦点放在用户单击的控件上。是否有事件或方法可以捕获在触发回发之前立即获得焦点的控件的 ID?我已经看到了几个问题和答案,它们演示了如何收集实际触发回发的控件的 ID,但这会将焦点直接放回刚刚更改的字段。
无论是否将焦点放在触发回发的控件中,该行为都要求用户选择下一个控件两次,一次间接触发回发,一次将焦点放在所需控件中。
【问题讨论】:
-
您有任何可以显示的代码吗?另外,为什么要回发每个控件?
-
我将很快发布相关代码,但我只是对每个正在更改的文本框进行回发,这只是由于我对 .Net 框架缺乏经验。关于使用 UpdatePanel 的答案是回发问题的“正确”答案,但我仍然无法使用 JavaScript 自动触发我创建的隐藏按钮的 .click 方法来触发 UpdatePanel 的刷新。
标签: javascript asp.net vb.net event-handling focus