Введите ключ для формы входа - PullRequest
0 голосов
/ 08 июня 2010

У меня есть форма поиска и форма входа на моем сайте. Когда кнопка ввода нажата, когда форма входа имеет фокус, поиск выполняется вместо входа в систему. Есть ли способ это исправить?

Я уже пытался использовать панель вокруг формы входа в систему и использовать кнопку default, но при этом я вижу ошибки входа в систему.

Ответы [ 3 ]

1 голос
/ 08 июня 2010

Вы можете попробовать настроить событие нажатия клавиш в форме входа в систему.Наверху, что-то вроде

$('#loginForm').keypress(function (e) {
  if(e.keyCode=='13') //Keycode for "Return"
     $('#login').click();
  }
});

должно сработать, при условии, что вы дадите соответствующие идентификаторы задействованным элементам.

0 голосов
/ 08 июня 2010

Если вы говорите о HTML, то это предлагает порядок табуляции (узнайте больше о том, здесь ) имеет отношение или порядок, в котором были созданы формы, поведение зависитна пользовательский агент.

0 голосов
/ 08 июня 2010

Не могли бы вы попробовать добавить атрибуты во время выполнения, как это

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();  
}}

ОБНОВЛЕНИЕ

Автопреобразован в VB.NET любезно предоставлен Telerik

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 + "')"
...