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

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