引子:
在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>
相关推荐
引子: 在ASP.Net页面中textbox的index为1(或n),其后的提交按钮index为2(n+1),光标在textbox中,回车后自动焦点移动到后面的button上,会触发button的点击事件。 但在Lyncplus客户端中访问Web页面时遇到了TextBox...
Asp.net的TextBox回车触发事件.<script language="javascript">
在textbox回车执行服务器端的事件
winform中关于textbox控件使用详解
C# 入门一一事件(event)的应用:如何在TextBox控件中实时显示Log
c# TextBox 控件透明
winform中关于textbox控件使用详解
C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码...
asp.net中绑定TextBox回车事件的解决方法。
文本框回车事件 如果一全页面有很多的按钮,那么文本框的回车事件就会执行第一个按钮事件。那么如何让文本框回车后指定执行一个按钮事件呢??请下载吧。
支持模糊查询的自定义TextBox控件,绑定dateset后就能使用,具体样式可以自己调试。
C#控件 失去Focus焦点事件与获得焦点事件 文本框失去焦点事件 LostFocus GotFocus事件 供大家学习,减为1分了。。。。
TextBox 控件自定义快捷键TextBox 控件自定义快捷键
asp.net 自定义textbox控件,带有客户端验证
c# winform textbox控件只能输入数字的几种方法
C#实现回车光标自动跳到下一个控件的几种方法
.net 控件拖放,PictureBox控件, Treeview控件, textbox控件
自己做的textbox控件,可限制输入格式,包含生成dll文件的项目和应用的例子
easyui textbox失去焦点事件及获取文本框的内容easyui textbox失去焦点事件及获取文本框的内容easyui textbox失去焦点事件及获取文本框的内容