我的網站上有一個搜索表單和一個登錄表單。當登錄表單具有焦點時按下輸入按鈕時,將執行搜索而不是登錄。有沒有辦法來解決這個問題?輸入登錄表格的密碼
我已經嘗試在登錄窗體周圍使用面板,並使用defaultbutton,但是當我這樣做時loginview錯誤。
我的網站上有一個搜索表單和一個登錄表單。當登錄表單具有焦點時按下輸入按鈕時,將執行搜索而不是登錄。有沒有辦法來解決這個問題?輸入登錄表格的密碼
我已經嘗試在登錄窗體周圍使用面板,並使用defaultbutton,但是當我這樣做時loginview錯誤。
您可以嘗試在登錄表單上設置按鍵事件。關閉我的頭頂,像
$('#loginForm').keypress(function (e) {
if(e.keyCode=='13') //Keycode for "Return"
$('#login').click();
}
});
應該工作,假設你給所涉及的元素提供適當的ID。
可以嘗試在運行時這樣
Login loginControl = (Login)lvLoginView.FindControl("logLogin");
TextBox tbUserName = (TextBox)loginControl.FindControl("UserName");
TextBox tbPassword = (TextBox)loginControl.FindControl("Password");
Button loginButton = (Button)loginControl.FindControl("LoginButton");
tbUserName.Attributes["onKeyPress"] = "KeyDownHandler('" + loginButton.ClientID + "')";
tbPassword.Attributes["onKeyPress"] = "KeyDownHandler('" + loginButton.ClientID + "')";
添加屬性和一些JS:
function KeyDownHandler(btn){
// process only the Enter key
if (event.keyCode == 13) {
// cancel the default submit
event.returnValue = false;
event.cancel = true;
var obj = document.getElementById(btn);
obj.click();
}}
UPDATE
自動轉換爲Telerik的
的VB.NET禮貌Dim loginControl As Login = DirectCast(lvLoginView.FindControl("logLogin"), Login)
Dim tbUserName As TextBox = DirectCast(loginControl.FindControl("UserName"), TextBox)
Dim tbPassword As TextBox = DirectCast(loginControl.FindControl("Password"), TextBox)
Dim loginButton As Button = DirectCast(loginControl.FindControl("LoginButton"), Button)
tbUserName.Attributes("onKeyPress") = "KeyDownHandler('" + loginButton.ClientID + "')"
tbPassword.Attributes("onKeyPress") = "KeyDownHandler('" + loginButton.ClientID + "')"
運行時你的意思是表單加載?因爲這全都在VB中完成。 – Andrew 2010-06-08 19:00:16
好吧,我放的代碼應該很容易轉換成VB,它的只是C# – 2010-06-08 19:42:24
你指的是ASP.NET登錄控件嗎? – 2010-06-08 18:06:14