灰太狼

先有司,赦小过,举贤才

 

在asp.net中实现回车替代Tab键

通常在网页中添加大量内容时,为了便捷,需要实现回车替代Tab键,按照次序填写内容.
由于在asp.net中fouce函数中有功能,既控件聚焦.但是如果要实现回车替代Tab键还得需要脚本语言来实现.
其实原理很简单,在页面事件中,检测window.event.keyCode为13(既回车的键值),替换为9(既Tab键的键值).

<script   language="JavaScript" type="text/javascript">  
  <!--  
  window.document.attachEvent("onkeydown"   ,   function(){  
  if(window.event.keyCode==13){  
  window.event.keyCode   =   9;  
  }  
  });  
  //-->  
</script>

当然,要使asp.net页面中的控件按照一定的次序来"Tab",必须设置这些控件的TabIndex值,依照你所需要的顺序来编制.

        <asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="Department" TabIndex="1"></asp:TextBox><br />
        <asp:TextBox ID="TextBox2" runat="server" TabIndex="2"></asp:TextBox><br />
        <asp:TextBox ID="TextBox3" runat="server" TabIndex="3"></asp:TextBox>
        <br />
        <asp:TextBox ID="TextBox4" runat="server" TabIndex="4"></asp:TextBox><br />
        <asp:TextBox ID="TextBox5" runat="server" TabIndex="5"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" Text="Button" /></div>


该例只实现了回车替代Tab键,但是在真正需要回车的时候,却只能是用鼠标点击按钮了.本人想实现一种更理想的方案,当所有文本框都已经填写完毕,正好聚焦(Tab)到了提交按钮时,按回车就直接提交了,这个想法若有人能实现,请在此留言,本人感激不尽!
全部代码如下:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
<script   language="JavaScript" type="text/javascript">  
  <!--  
  window.document.attachEvent("onkeydown"   ,   function(){  
  if(window.event.keyCode==13){  
  window.event.keyCode   =   9;  
  }  
  });  
  //-->  
</script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="Department" TabIndex="1"></asp:TextBox><br />
        <asp:TextBox ID="TextBox2" runat="server" TabIndex="2"></asp:TextBox><br />
        <asp:TextBox ID="TextBox3" runat="server" TabIndex="3"></asp:TextBox>
        <br />
        <asp:TextBox ID="TextBox4" runat="server" TabIndex="4"></asp:TextBox><br />
        <asp:TextBox ID="TextBox5" runat="server" TabIndex="5"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" Text="Button" /></div>
    </form>
</body>
</html

posted on 2006-08-31 11:53  灰太狼2号  阅读(2744)  评论(3编辑  收藏  举报

导航