zoukankan      html  css  js  c++  java
  • 文本框回车事件

      我负责的项目,其中有一个页面有两个按钮,两个文本框,登录时敲回车键触发"登录"事件,但是搜索时敲回车键也触发"登录"事件,其实应触发"搜索事件"。实际上不管在哪个文本框敲回车,总是触发第一个按钮的事件 (这是由于通常回车键默认触发第一按钮的事件)。

      BOSS让我修改一下,我想这么简单的东西,不是什么难题,经过一番激烈的战斗,无数脑细胞壮烈的牺牲,却没有任何进展,....很是窝火....最后在百度的帮助下找到了解决办法,现分享如下: [实例]

    要点有三:

    1. 登录的文本框是HTML控件,搜索是Asp.net控件,添加事件的方式不同;

    2. 给button控件设置属性: UseSubmitBehavior="False",将Button的type由submit变为button;

    3. 取得button控件的ID: document.getElementById('<%=imgLogin.ClientID %>') 

    实例代码如下,欢迎大家拍砖...

    前台代码:

    View Code
     1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="gly.aspx.cs" Inherits="gly" %>
    2
    3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    4 <html xmlns="http://www.w3.org/1999/xhtml">
    5 <head runat="server">
    6 <title></title>
    7 <script type="text/javascript">
    8
    9 function t_Login() {
    10 if (event.keyCode == 13) {
    11 document.getElementById('<%=imgLogin.ClientID %>').onclick();//注意这个地方拿ID,
    12 }
    13 }
    14
    15 function search() {
    16 if (event.keyCode == 13) {
    17 document.getElementById('<%=imgsearch.ClientID %>').onclick();
    18 }
    19 }
    20
    21 </script>
    22
    23 </head>
    24 <body>
    25 <form id="form1" runat="server">
    26 <div>
    27 登陆:
    28 <input name="textfield" type="text" id="txtUserName" runat="server" onkeydown="t_Login();" />
    29
    30 <asp:Button ID="imgLogin" runat="server" OnClick="imgLogin_Click"
    31 UseSubmitBehavior="False" Text="登陆" />
    32 <br/>
    33 搜索:
    34 <asp:TextBox runat="server" ID="txtkey"/>
    35
    36 <asp:Button ID="imgsearch" runat="server" OnClick="imgsearch_Click"
    37 UseSubmitBehavior="False" Text="搜索" />
    38 </div>
    39 </form>
    40 </body>
    41 </html>

     

    后台代码:

    View Code
     1 using System;
    2
    3 public partial class gly : System.Web.UI.Page
    4 {
    5 protected void Page_Load(object sender, EventArgs e)
    6 {
    7 //登录的文本框是HTML控件,搜索是Asp.net控件。为文本框添加事件的方法不同。
    8 txtkey.Attributes.Add("onkeydown", "search();");
    9 }
    10
    11 protected void imgLogin_Click(object sender, EventArgs e)
    12 {
    13 //登陆...
    14 if(txtUserName.Value!="")
    15 {
    16 Response.Write("登陆...");
    17 }
    18 }
    19
    20 protected void imgsearch_Click(object sender, EventArgs e)
    21 {
    22 //搜索
    23 if(txtkey.Text!="")
    24 {
    25 Response.Write("搜索...");
    26 }
    27 }
    28 }

     

  • 相关阅读:
    排序算法的实现(冒泡,选择,插入 O(N*N)--理解方法实现
    HTTPS工作原理和TCP握手机制
    HTTP协议学习
    IP头,TCP头,UDP头,MAC帧头定义
    单链表的实现
    数字图像处理------中值滤波
    对于矩阵的理解-- by 孟岩老师
    java编码问题总结
    jsp数据库连接大全和数据库操作封装到Javabean
    构建一个高可扩展性javabean和jsp连接数据库操作
  • 原文地址:https://www.cnblogs.com/ry123/p/2341814.html
Copyright © 2011-2022 走看看