【问题标题】:How to get GotFocus, LostFocus event of a textbox in Webforms using C#如何使用 C# 在 Webforms 中获取文本框的 GotFocus、LostFocus 事件
【发布时间】:2017-10-17 21:03:24
【问题描述】:

在创建网站时,我无法获取文本框的 GotFocus、LostFocus 事件。我只是想。正如我之前在问题中所问的,当焦点是 winforms 中另一个文本框的文本时,如何将一个文本框的值放入另一个文本框。我能够以 Windows 形式完成它。但是,当我在网站上尝试相同的操作时,我无法获取这些事件......是否应该使用 Java 脚本来获取这些事件?请帮忙

【问题讨论】:

标签: c# asp.net


【解决方案1】:

TextBox 的 GotFocus、LostFocus 事件在 Windows 控件中,但对于 WebControls,您不会得到这些,而应该尝试客户端脚本 (Javascript)。

在 javascript 中,您将获得文本框的事件焦点和模糊(实际上是网页上的输入 type="text"),您可以将它们用于您的目的。

要设置事件处理程序,请使用on + event作为事件处理程序并提供要执行的js代码。

对于模糊事件,您应该添加属性onblur,对于焦点添加属性onfocus

如果你的 aspx 有 TextBox,你可以试试 Javascript

<asp:TextBox runat="server" id="textbox1" onblur="SetTextInTextBox2()" />
<asp:TextBox runat="server" id="textbox2" onfocus="SetTextInTextBox2()" />

在 JavaScript 中

function SetTextInTextBox2()
{
    document.getElementById('textbox2').value = document.getElementById('textbox1').value;
}

【讨论】:

  • document.getElementById('textbox2') 可能不适用于 asp:TextBox 类型的控件
  • @OzairKafray document.getElementById('textbox2') 不适用于服务器端控件,如果它位于母版页或用户控件或使用母版页的页面上。
  • @YograjGupta 那么在这种情况下你会怎么做?
  • @AltF4_ 在这种情况下,如果您的 JS 代码在 aspx 页面上,您可以尝试该服务器控件的 ClientId 属性,例如 document.getElementById('&lt;%=textbox1.ClientId%&gt;').value
【解决方案2】:

尝试 TextBox1.Focus() 将焦点放在文本框上,如果失去焦点,请将焦点从这个 textbox1 转移到另一个或某个隐藏控件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 2013-02-06
    • 1970-01-01
    相关资源
    最近更新 更多