js 回车调用后台事件

 

最近在项目开发做了一个小功能,回车调用后台事件,现在拿出来跟大家分享一下:
前台代码:

    <script type="text/javascript">
//为TextBox指定回车时执行的Button按钮事件
function enterPressExecuteButtonAction(textBoxID, buttonID) {
if (event.keyCode == 13) {
//获取按钮事件
var func = document.getElementById(buttonID).click;
document.getElementById(buttonID).focus();
func();//调用事件
event.returnValue = false;
}
}
//为TextBox屏蔽回车事件
function EnterEventsAction() {
if (event.keyCode == 13) {
event.keyCode = 0;
event.returnValue = false;
}
}

</script>

        <asp:TextBox ID="TextBox1" runat="server" onload="TextBox1_Load" ></asp:TextBox>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"  />
后台代码:

        //按钮事件
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("ni hao 123");
}
//加载事件
protected void TextBox1_Load(object sender, EventArgs e)
{//调用了TextBox扩展方法
TextBox1.RegisterPressEnterAction(this.Button1,ButtonType.Button);
}

还有一个TextBox扩展方法类

 public static class TextBoxExtension
{
/// <summary>
/// 为TextBox指定回车时执行的按钮事件
/// </summary>
public static void RegisterPressEnterAction(this TextBox textBox, WebControl button, ButtonType buttonType)
{
switch (buttonType)
{
case ButtonType.Button:
textBox.Attributes.Add("onkeypress", String.Format("enterPressExecuteButtonAction(this.id,'{0}');", button.ClientID));
break;
case ButtonType.Image:
break;
case ButtonType.Link:
textBox.Attributes.Add("onkeypress", String.Format("enterPressExecuteLinkButtonAction(this.id,'{0}');", button.ClientID));
break;
default:
break;
}
textBox.Attributes.Add("onfocus", "javascript:this.select();");
}
public static void RegisterPressEnterAction(this TextBox textBox, string button, string buttonType)
{
switch (buttonType)
{
case "Button":
textBox.Attributes.Add("onkeypress", String.Format("enterPressExecuteButtonAction(this.id,'{0}');", button));
break;
case "Image":
break;
case "Link":
textBox.Attributes.Add("onkeypress", String.Format("enterPressExecuteLinkButtonAction(this.id,'{0}');", button));
break;
default:
break;
}
textBox.Attributes.Add("onfocus", "javascript:this.select();");
}
/// <summary>
/// 为TextBox指定回车时执行的按钮事件
/// </summary>
public static void RegisterPressEnterAction(this TextBox textBox)
{
textBox.Attributes.Add("onkeypress", "EnterEventsAction();");
textBox.Attributes.Add("onfocus", "javascript:this.select();");
}
}
posted @   易独  阅读(364)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
乐巴儿 一个有声音的公众号
长按,识别二维码,加关注
点击右上角即可分享
微信分享提示