asp.net javascript回车键事件http://hi.baidu.com/xuexiang516168/blog/item/90f2bc4bc316372908f7eff4.html

有asp.net里面用了form runat=server的表单的时候,里面的<asp:button .. 总不能按个回车提交表单,很是不爽。
现在终于发现了一个属性可以干这个事情,用 this.Form.DefaultButton = "ContentPlaceHolder1$btn";
值得注意的是,如果用了masterPage(模板页),那么要在按钮ID前加上模板的ContentPlaceHolderID和一个美元符($)

相关的代码如下:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="tagSearch.aspx.cs" Inherits="tagSearch" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:TextBox runat="server" ID="wd" ></asp:TextBox><asp:Button ID="btn" runat="server" Text="搜索" OnClick="btn_Click" />
...........................
</asp:Content>

在CS里面
protected void Page_Load(object sender, EventArgs e)
{
this.Form.DefaultButton = "ContentPlaceHolder1$btn";
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

如何在ASP.NET页面中,按回车键就执行相应按钮的Click()事件?

这得借助前台的js代码来完成!

①单输入框(文本框)单按钮的实现方法

以下功能实现:在输入框中输入内容之后,按回车键就执行按钮事件!

在.aspx页面的Head区域中添加:

<script type="text/javascript">
function Enter()
{
if(event.keyCode==13)
{
event.keyCode = 9;
event.returnValue=false;
document.getElementById('Button1').click();
//document.all('Button1').click();
}
}
</script>

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TextBox1.Attributes.Add("onkeydown", "Enter(this)");
}
TextBox1.Focus();
}

②多输入框(文本框)多按钮的实现方法

以下功能实现,在不同的输入框中输入内容后,按回车键执行不同的按钮事件!  

在.aspx页面的Head区域中添加:

<script   type="text/javascript">  
function   BtnClick(obj)  
{  
if(event.keyCode==13)  
{  
if(obj==document.all.文本框ID)  
{  
document.all.Button1.click();  
}  
else  
{  
document.all.Button2.focus();  
document.all.Button2.click();  
}  
}  
}  
</script>   

在页面的cs文件的Load中添加:

this.文本框ID.Attributes.Add("onkeydown",   "BtnClick(this);");  
this.另外的文本框ID.Attributes.Add("onkeydown",   "BtnClick(this);");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章