引子:
在ASP.Net页面中textbox的index为1(或n),其后的提交按钮index为2(n+1),光标在textbox中,回车后自动焦点移动到后面的button上,会触发button的点击事件。
但在Lyncplus客户端中访问Web页面时遇到了TextBox控件回车自动完成按钮的提交事件失效的情况(应该是自动切换焦点)。
由于并且该服务端TextBox控件没有提供OnKeyPress或OnKeyDown等事件,也无法针对回车事件写后台代码来调用Button按钮的点击事件。
于是上网查找相关的介绍,最终解决了以下两个问题:
(一)、实现在TextBox控件回车事件中 执行JS代码,来控制页面元素的值。
(二)、实现在TextBox控件回车事件中 调用服务端控件的点击事件,来执行服务端C#代码,实现相关的功能。
具体实现如下:
一、注册和触发服务端TextBox控件回车事件
1.PageLoad事件代码:
protected void Page_Load(object sender, EventArgs e) { MessageTxt.Attributes.Add("onkeypress", "EnterTextBox()"); MessageTxt.Attributes.Add("onkeydown", "EnterTextBox()"); }
2.javascript代码:
<script language="javascript"> function EnterTextBox() { if (event.keyCode == 13 && document.all["MessageTxt"].value != "") //按下了回车,并且文本框里有值 { $("#<%=hidKeywords.ClientID%>").val($("#<%=MessageTxt.ClientID%>").val().replace(/[^\u0000-\u00FF]/g, function ($0) { return escape($0).replace(/(%u)(\w{4})/gi, "&#x$2;") })); } } </script>
二、TextBox控件回车事件中调用服务端Button控件点击事件
1.PageLoad事件代码: 同上。
protected void Page_Load(object sender, EventArgs e) { MessageTxt.Attributes.Add("onkeypress", "EnterTextBox()"); MessageTxt.Attributes.Add("onkeydown", "EnterTextBox()"); }
2.javascript代码: 注意使用原始的dom对象获取按钮,使用Jquery获取不到。
<script language="javascript"> function EnterTextBox() { var button = document.getElementById('<%=btnSearch.ClientID%>');//获取服务端控件对应的页面对象 if (event.keyCode == 13) //按下了回车 { button.click(); event.returnValue = false; } } </script>
相关推荐
但在Lyncplus客户端中访问Web页面时遇到了TextBox控件回车自动完成按钮的提交事件失效的情况(应该是自动切换焦点)。 由于并且该服务端TextBox控件没有提供OnKeyPress或OnKeyDown等事件,也无法针对回车事件写后台...
### Asp.net中的TextBox回车触发事件 在Asp.net开发中,经常需要处理用户在文本框(`TextBox`)内的输入操作,特别是在用户按下回车键时触发某些特定的操作,比如提交表单或者执行搜索功能等。本文将详细介绍如何在...
默认情况下,TextBox控件的回车键可能不会触发任何服务器端事件,因为浏览器通常会将回车键视为表单的提交按钮。为了在回车键被按下时执行服务器端代码,我们需要进行一些额外的配置。 1. **添加服务器端事件**:在...
当用户在TextBox中按下回车键时,通常希望触发特定的事件,比如提交表单或者执行某个操作。本篇将详细介绍如何在ASP.NET中绑定TextBox的回车事件,并使用C#语言处理相关逻辑。 首先,我们需要在网页的.aspx文件中...
// 找到下一个TextBox控件 Control nextControl = FindNextControl(textBox1, true, true, false, true); if (nextControl != null && nextControl is TextBox) { // 转移焦点 nextControl.Focus(); } } }...
在ASP.NET中,默认情况下,当用户在一个文本框中按下回车键时,如果页面上存在按钮,则会触发页面上第一个按钮的点击事件。这种行为有时并不符合我们的需求,例如: - 我们可能希望在用户完成某个特定文本框的输入后...
为了解决这个问题,我们可以实现一个延迟触发TextChanged事件的TextBox控件。 在标题和描述中提到的"延迟了TextChanged事件的TextBox文本框控件"是指一种优化策略,它不会在每次用户输入时立即触发事件,而是等待...
### 自制控件:C#中TextBox控件只允许输入数字 #### 背景介绍 在软件开发过程中,为了确保用户输入的数据符合预期格式,经常需要对输入进行限制。例如,在财务应用或数学计算程序中,我们可能希望某个文本框(`...
TextBox控件提供了多种功能,如文本显示、文本编辑以及处理用户输入事件。本教程将深入讲解如何在TextBox控件中实现按键输入控制,以满足特定的业务需求。 首先,我们需要了解TextBox控件的基本属性和事件。TextBox...
在C# WinForm应用开发中,TextBox控件是不可或缺的一部分,它用于接收用户输入的数据。在实际项目中,我们往往需要对TextBox控件的输入内容进行一定的控制,以确保数据的有效性和安全性。以下是对"C# TextBox控件的...
通过以上分析可以看出,利用VB中的Textbox控件及其KeyPress事件,我们能够构建一个功能完善的超精简计算器。这种做法不仅简洁高效,还展示了VB在快速原型设计方面的能力。对于初学者而言,这是一个很好的实践项目,...
### ASP.NET 页面回车触发 Button 按钮方案详解 #### 一、概述 在 Web 开发中,尤其是在 ASP.NET 应用程序中,我们经常需要处理用户输入数据时的操作,比如通过按下 Enter 键来触发某个操作或提交表单。这种需求在...
`KeyPress`事件通常在控件(如TextBox或Form)中使用,当用户按下键盘上的一个键并释放时,该事件就会被触发。事件处理程序通常命名为`KeyPress`,如`Private Sub Form_KeyPress(KeyAscii As Integer)`。这里的`Key...
在ASP.NET开发中,有时我们需要实现当用户在TextBox控件中按下回车键时触发特定的事件,而不是默认的表单提交。以下是如何在ASP.NET中绑定TextBox的回车事件的详细步骤和方法: 1. **JavaScript处理回车事件**: ...
TextBox控件有许多内置事件,例如`TextChanged`事件在文本内容改变时触发,`KeyDown`和`KeyUp`事件响应键盘按键操作,`LostFocus`和`GotFocus`事件则在控件失去或获得焦点时触发。通过这些事件,开发者可以实现复杂...
这里,`TextBox1`是服务器端控件的名称,`EnterTextBox`是我们之前定义的JavaScript函数名,`Button1`是我们希望在按下Enter键时触发点击事件的按钮的ID。 2. **处理按钮点击事件**:在C#中,我们需要编写一个处理...
在网页开发中,捕获用户在文本框(TextBox)中按下回车键的事件是非常常见的需求,这通常用于实现表单提交或者执行特定的操作。在不同的浏览器中,处理这种事件的方式可能会有所不同。本文将详细解释如何使用...
IE会将页面上的第一个按钮自动设为默认按钮。当用户在页面上按回车键时,就会触发这个默认...换句话说,如果在Panel中设置了默认按钮,那么在Panel内的文本框中按回车仍然会触发默认按钮,而不会变成按Tab键的效果。
实现这个功能的核心在于监听窗体的键盘事件,特别是回车键(Keycode为13)被按下时的事件。下面将详细解释实现步骤: 1. **创建窗体和控件**:首先,你需要创建一个窗体,并在其中添加若干控件,如TextBox、Button...