diff --git a/src/octoprint/static/js/app/viewmodels/loginstate.js b/src/octoprint/static/js/app/viewmodels/loginstate.js
index d93f3280..661b1549 100644
--- a/src/octoprint/static/js/app/viewmodels/loginstate.js
+++ b/src/octoprint/static/js/app/viewmodels/loginstate.js
@@ -15,6 +15,10 @@ $(function() {
self.currentUser = ko.observable(undefined);
+ self.elementUsernameInput = undefined;
+ self.elementPasswordInput = undefined;
+ self.elementLoginButton = undefined;
+
self.userMenuText = ko.computed(function() {
if (self.loggedIn()) {
return self.username();
@@ -103,7 +107,7 @@ $(function() {
self.onLoginUserKeyup = function(data, event) {
if (event.keyCode == 13) {
- $("#login_pass").focus();
+ self.elementPasswordInput.focus();
}
};
@@ -113,12 +117,6 @@ $(function() {
}
};
- self.onLoginRememberKeyup = function(data, event) {
- if (event.keyCode == 9) {
- $("#login_user").focus();
- }
- }
-
self.onAllBound = function(allViewModels) {
self.allViewModels = allViewModels;
};
@@ -127,6 +125,18 @@ $(function() {
self.requestData();
};
+ self.onStartup = function() {
+ self.elementUsernameInput = $("#login_user");
+ self.elementPasswordInput = $("#login_pass");
+ self.elementLoginButton = $("#login_button");
+ if (self.elementUsernameInput && self.elementUsernameInput.length
+ && self.elementLoginButton && self.elementLoginButton.length) {
+ self.elementLoginButton.blur(function() {
+ self.elementUsernameInput.focus();
+ })
+ }
+ };
+
self.onStartupComplete = function() {
self.requestData();
};
diff --git a/src/octoprint/templates/navbar/login.jinja2 b/src/octoprint/templates/navbar/login.jinja2
index d500b107..f712f82d 100644
--- a/src/octoprint/templates/navbar/login.jinja2
+++ b/src/octoprint/templates/navbar/login.jinja2
@@ -8,7 +8,7 @@