您的位置:首页 > 编程语言 > ASP

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

2007-11-27 22:26 696 查看

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: