【转】JS回车提交

protected void Page_Load(object  sender, EventArgs e) 

this.Page.SetFocus(TextBox1);//设置焦点 


}
 

-------------------------------------------
 
protected void Page_Load(object
 sender, EventArgs e) 

//回车后 Button1提交 


this.Page.RegisterClientScriptBlock("_autoPostBack"" <script type=\"text/javascript\"> function document.onkeydown(){ if (event.keyCode == 13){ document.getElementById('" + Button1.ClientID+ "').click(); }} </script> "); 
}

asp.net(c#)如何在页面加载时给文本控件添加焦点

this.Page.RegisterStartupScript("","<script>document.forms(0).txtFamily.focus(); document.forms(0).txtFamily.select();</script>"); 

如何设置 asp.net 页面中的回车默认按钮

logonidtextbox.attributes["onkeydown"]="if(event.keycode==13){document.all.logonpasswordtextbox.focus();   return   false;}";   
    
  logonpasswordtextbox.attributes[
"onkeydown"]="if(event.keycode==13){document.all.buttonlogon.click();   return   false;}";  

或者文本框的 chenage 事件中添加代码

页面中的回车都转成 Tab

<script language="javascript" event="onkeydown" for="document">
if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='')
event.keyCode
=9
;
</script>

ASP.NET 中,如果同一页面有多个文本框,在每个文本框按“回车”按钮,将会默认响应第一个 Button Click 事件,怎样能随意的按回车键而不引发意外的响应或者怎样在不同的地方按回车键得到不同的响应

二、在不同的地方按回车键得到不同的响应
    如果同一页面上有多个文本框(TextBox),每个文本框对应不同提交按钮(Button),如下列“登录”的页面里,有“输入邮箱号”和“输入帐号”两个文本框和“进入邮箱”、“进入社区”两个按钮。

实现步骤如下:

1
。建立页面和代码文件(此步骤不详细介绍)
2。给 form 加上 onkeydown="keydown()"
以屏蔽掉页面的回车响应
    keydown()的代码如下:
        
function keydown() { }

3。给“输入邮箱号”的文本框加上 onkeydown="mail();"让它响应“进入邮箱”按钮事件
    mail()代码如下:
        
function
 mail() 
        

            
if(event.keyCode==13

            
{
                 document.all.MAIL.click(); 
                 alert('mail'); 
            }

         }

 
4。给“输入帐号”的文本框加上 onkeydown="bbs();"让它响应“进入社区”按钮事件
    bbs()代码如下:
        
function
 bbs() 
        
{
             
if(event.keyCode==13
)
             
{
                 document.all.BBS.click(); 
                 alert('bbs');
             }

         }


按回车执行页面上的指定按钮事件

ASP.NET 中让同一页面不同的文本框在按回车时响应不同的提交按扭的事件

1、第一步:先创建以下javascript,如下:
<script language="javascript">

<!--
function KeyDown()
 
if(event.keyCode==13
{
  
//在页面form中,按回车不触发事件

  return false;
 }

}


function doButton()
 
if(event.keyCode==13
{
  
//btSubmit指对应的提交按扭的id名称

  document.all.btSubmit.click(); 
 }

}


//-->
</script>


2、第二步:在 FORM 中加入“onKeyDown”标签,如下:
<form id="Form1" method="post" runat="server" onKeyDown="return KeyDown()">

</form>

3、第三步:在所要按回车的文本框上加入“onKeyDown”标签,如下:
<asp:TextBox id="TextBox1" runat="server" onKeyDown="doButton()"></asp:TextBox>



这是提交按扭:
<asp:Button id="btSubmit" runat="server" Text=" 提交 "></asp:Button>

以上仅供参考
呵呵,经自己亲自试演,如下可行,要先给按钮获得焦点

this.TextBox1.Attributes.Add("onkeypress","if(event.keyCode==13){document.all.btnGOTO.focus();document.all.btnGOTO.click();   return   false;}");
this.TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13){document.all.btnGOTO.focus();document.all.btnGOTO.click();   return   false;}");

在一个页面上存在多个按钮,有的时候希望按回车直接实现点击某按钮的效果,解决方法如下: 
<script language="javascript">
 
function
 document.onkeydown() 

var e=
event.srcElement; 
if(event.keyCode==13


document.getElementById(
"需要点击的那个按钮的id"
).click(); 
return false

}
 
}
 
</script>
 
如果页面上有多行文本框,在多行文本框内回车仅仅想实现换行而不是提交表单这么修改 
if(e!=document.getElementById("多行文本框的id")&&event.keyCode== 13

一、在页面任意的地方按回车键都不引发响应
    如果整个页面没有需要设置回车提交的,希望在页面任意的地方按回车键都不引发响应,可以将全页面的回车通通转为 Tab,方法是在文件头部加上如下代码:

<script language="javascript" event="onkeydown" for="document">

       
if(event.keyCode==13
)
              event.keyCode
=9
;
</script>

---------------------------------------------------------------------------------------------------- 

按扭上的事件我会写:  
  bt_Click+=new   EventHandler(bt_OnClick);  
  private   void   bt_OnClick(Object   sender,EventArgs   e){  
    //****  
  }  
   
   
  可是TextBox对象的事件怎么写?  
  private   void   tb_OnKeyDown(Object   sender,KeyEventArgs   e){  
    if(e.KeyCode.ToString()=="Enter"){  
      //***  
      //怎么写?难道要把代码复制一次才可以吗?  
      //***  
    }  
  }

--------------------------------------------------------------------------------------------------------------
回车光标定位到下一个文本框:
TextBox.Attributes.Add("onkeydown","if(event.keyCode==13)event.keyCode=9;");
οnkeydοwn= "if(event.keyCode==13)event.keyCode=9 "
13:回车键
9:Tab键

Page_Load中设置:
textbox.Attribute[ "onkeyup "]= "javascript:if   (event.keycode==13)   xxx.focus(); "

例:
<script  language=javascript>  
  function   document_onkeydown()   {  
        if   (event.keyCode==13)   //如果回车  
        {  
        event.returnValue=false  
        }  
         
  }  
    </script>   
    
  <form   id="Form1"   method="post"   runat="server"     οnkeydοwn="return   document_onkeydown()">  
  取消   form的回车提交  

------------------------------------------------------------------------------------------
如果你的textbox是放在某个form里面的话,  
  那么把这个form的keypreview设成true,  
  然后重载form的keypress,keydown,keyup三个响应函数,  
  在这三个响应函数里面检查是不是enter键,  
  如果是,就把事件注销,注销的方法是设置event的isHandled属性。


---------------------------------------------------------------------------------------------------------------------------------------

屏蔽Button按钮对Enter回车键的响应 及实现Enter->Tab效果

案例如下:
一般情况下
当一个页面有TextBox以及Button的时候
当光标停留在TextBox上 此时按Enter键 回车
就会发现光标将焦点停留在Button上
并且触发了Button的按钮事件

本例实现如下效果
0.一个包含[姓名TextBox1]和[备注TextBox2]以及[确定Button按钮]的页面
1.屏蔽按钮对回车键的响应 而只响应鼠标的点击
2.以及实现Enter键->Tab键的转换
  即TextBox1非空时 按回车键 光标转到TextBox2
  当TextBox2非空时 按回车键 光标转到Button
  当光标停留在Button上时 按回车键 光标转到TextBox1
---------------------------------------
相关代码示例如下:

 1 <% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Default2.aspx.cs "  Inherits = " Default2 "   %>
 2 < html >
 3 < head  id ="Head1"  runat ="server" >
 4      < title > 屏蔽Button按钮对Enter键的响应 </ title >
 5      < script  language ="javascript"  type ="text/javascript" >
 6        
 7          // TextBox1的 onkeydown事件
 8          // 若TextBox1非空 则光标停留在TextBox2
 9          function  TextBox1onKeyDown()
10          {
11              if (event.keyCode == 13 )
12              {
13                  if (document.all.TextBox1.value == "" )
14                  {
15                     document.all.TextBox1.focus();
16                     event.keyCode  =   0 ;
17                     event.returnValue  =   false ;                    
18                 }
19                  else
20                  {
21 //                   event.keyCode=9;//Enter键->Tab键
22                     document.all.TextBox2.focus();
23                     event.keyCode  =   0 ;
24                     event.returnValue  =   false ;   
25                 }
26             }
27         }
28         
29          // TextBox2的 onkeydown事件
30          // 若TextBox2非空 则光标停留在Button1
31          function  TextBox2onKeyDown()
32          {            
33              if (event.keyCode == 13 )
34              {
35                  if (document.all.TextBox2.value == "" )
36                  {
37                     document.all.TextBox2.focus();
38                     event.keyCode  =   0 ;
39                     event.returnValue  =   false ;                    
40                 }
41                  else
42                  {
43 //                   event.keyCode=9;//Enter键->Tab键
44                     document.all.Button1.focus();
45                     event.keyCode  =   0 ;
46                     event.returnValue  =   false ;   
47                 }
48             }
49         }
50         
51          // Button1的 onkeydown事件
52          // 如果是回车键
53          // 则光标停留在TextBox1
54          // 不触发按钮事件
55          function  Button1onKeyDown()
56          {
57              if (event.keyCode == 13 )
58              {
59                 document.all.TextBox1.focus();
60                 event.keyCode  =   0 ;
61                 event.returnValue  =   false ;                    
62             }
63         }       
64
65          // Button1的 onClick事件
66          function  btnOnClick()
67          {
68             alert(event.keyCode);
69             alert('onclick');
70         }
71         
72      </ script >
73 </ head >
74 < body >
75      < form  id ="form1"  runat ="server" >
76          < asp:TextBox  ID ="TextBox1"  runat ="server" ></ asp:TextBox >
77          < asp:TextBox  ID ="TextBox2"  runat ="server" ></ asp:TextBox >
78          < asp:Button  ID ="Button1"  runat ="server"  Text ="Button"  OnClick ="Button1_Click"    />
79      </ form >
80 </ body >
81 </ html >


后台代码:
public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            this.TextBox1.Attributes.Add("onkeydown", "TextBox1onKeyDown();");
            this.TextBox2.Attributes.Add("onkeydown", "TextBox2onKeyDown();");
            this.Button1.Attributes.Add("onkeydown", "Button1onKeyDown();");
            this.Button1.Attributes.Add("onclick", "btnOnClick();");
            this.TextBox1.Focus();
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("onclickServer");
    }
}


----------------------------------------------------------------------------------------------------------------------------------------

 

function  pageLoad(sender,eventArgs)
    {
        document.onkeypress
= function (){
            
if (event.keyCode == 13 )
                
return   false ;
        }
    }

 

 

如果没有加载MicrosoftAjax框架,请添加document的onload事件。欢迎提出疑问,感谢!

 

上面的也禁止了文本区域的回车,最好用下面的方法

 

document.forms[ 0 ].onsubmit = function (){
    
return   false ;
}

然后利用__doPostBack()提交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值