0

Web サイトに検索フォームとログイン フォームがあります。ログイン フォームにフォーカスがあるときに Enter ボタンを押すと、ログインの代わりに検索が実行されます。これを修正する方法はありますか?

ログインフォームの周りにパネルを使用してdefaultbuttonを使用しようとしましたが、これを行うとloginviewエラーが発生します。

4

3 に答える 3

1

ログインフォームでキープレスイベントを設定してみてください。私の頭の上から、次のようなもの

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

関連する要素に適切な ID を与えると仮定すると、動作するはずです。

于 2010-06-08T18:10:09.733 に答える
0

このように実行時に属性を追加してみてください

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

アップデート

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 + "')"
于 2010-06-08T18:10:20.107 に答える
0

HTML について話している場合、これはタブ オーダー (詳細はこちら) が関連しているか、フォームが作成された順序であり、動作はユーザー エージェントに依存していることを示唆しています。

于 2010-06-08T18:10:27.943 に答える