asp.net(c#)页面加载时添加控件的属性和回车问题

来源:互联网 发布:2016淘宝客推广微信群 编辑:程序博客网 时间:2024/06/05 02:16

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


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事件,怎样能随意的按回车键而不引发意外的响应或者怎样在不同的地方按回车键得到不同的响应
一、在页面任意的地方按回车键都不引发响应
    如果整个页面没有需要设置回车提交的,希望在页面任意的地方按回车键都不引发响应,可以将全页面的回车通通转为Tab,方法是在文件头部加上如下代码:

<script language="javascript" event="onkeydown" for="document">
       if(event.keyCode==13)
              event.keyCode=9;
</script>


二、在不同的地方按回车键得到不同的响应
    如果同一页面上有多个文本框(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');
             }
         }

按回车执行页面上的指定按钮事件
在一个页面上存在多个按钮,有的时候希望按回车直接实现点击某按钮的效果,解决方法如下:
<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)

 

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;}");

 
原创粉丝点击