2010-06-08 5 views
0

J'ai un formulaire de recherche et un formulaire de connexion sur mon site Web. Lorsque vous appuyez sur le bouton Entrée lorsque le formulaire de connexion est actif, la recherche s'exécute à la place de la connexion. Y'a t'il un moyen d'arranger cela?Entrer la clé pour le formulaire de connexion

J'ai déjà essayé d'utiliser un panneau autour du formulaire de connexion et d'utiliser defaultbutton, mais les erreurs de loginview quand je fais cela.

+0

faites-vous référence aux contrôles de connexion ASP.NET? –

Répondre

1

Vous pouvez essayer de configurer un événement de pression de touche sur votre formulaire de connexion. En haut de ma tête, quelque chose comme

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

devrait fonctionner, en supposant que vous donniez les ID appropriés aux éléments impliqués.

0

pourrait vous essayez d'ajouter des attributs au moment de l'exécution comme celui-ci

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

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

MISE À JOUR

Auto-converti à la courtoisie VB.NET de 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 + "')" 
+0

Par runtime voulez-vous dire formulaire de charge? Parce que tout cela est fait en VB. – Andrew

+0

Ok, bien le code que j'ai mis devrait être assez facile à convertir en VB, c'est juste C# –

0

Si vous parlez de HTML, puis this suggère l'ordre de tabulation (en savoir plus sur cela here) est pertinent ou l'ordre dans lequel les formulaires ont été créés, le comportement en fonction de l'agent utilisateur.

Questions connexes