asp.net(c#)如何在页面加载时响应回车事件

翻译|其它|编辑:郝浩|2007-10-25 11:34:18.000|阅读 1980 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

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>



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:csdn

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP