2010-06-11 31 views
2

我有一個網站有2個表格。一個用於搜索,另一個用於登錄。當我使用回車鍵提交時,搜索總是被調用,因爲它是頁面上的第一個表單。在網站上輸入多個表格的密鑰

我想要做的是編程回車鍵,當某個文本框有焦點時點擊某個按鈕。

我爲我的登錄表單使用asp:textbox和asp:按鈕。

+0

是另一種HTML形式的內部形式嗎? – 2010-06-11 12:36:18

+0

整個網站上實際上有1個表單標籤,因爲您只能在網頁中擁有1個runat =服務器。 基本上它是一個loginview和一個asp:textbox和asp:button自己(這是搜索)。 – BioXhazard 2010-06-11 12:40:06

回答

0

創建跟蹤什麼形式的全局變量是重點:

<script> var currentForm = document.forms[0];</script> 
<form ...><input onfocus="currentForm = this.form;"/></form> 
<form ...><input onfocus="currentForm = this.form;"/></form> 

將鍵盤處理程序的窗口中,查找回車鍵,然後當它擊中提交真實被聚焦的形式:

function globalKeyPressed(event) { 
    if (event.keyCode == ENTER) { // This is pseudo-code, check how to really do it 
    currentForm.submit(); 
    } 
} 
+0

我不明白第二部分。 globalKeyPressed在哪裏聲明? – BioXhazard 2010-06-11 12:50:07

+0

頁面中某個腳本塊的某處。然後你必須讓它成爲全局按鍵事件的監聽器。像「window.onkeypress = globalKeyPressed;」 – levik 2010-06-14 03:26:46

1

如果您使用的是asp.net webforms,那麼您可以使用Panel控件。面板控件有一個DefaultButton屬性,您可以將其設置爲一個asp.net按鈕控件的ID。當該面板中的任何控件獲得焦點時,默認按鈕將成爲引用按鈕。

0

這完美地工作:

$( '形式[名稱= yourformname]')提交(函數(){...});