Skip to content
Browse files

MDL-23344 fix login form focus

  • Loading branch information...
1 parent c261b35 commit 2d285846954dbf814f6d0373e2870cd2419e6ee6 @skodak skodak committed with stronk7
Showing with 30 additions and 0 deletions.
  1. +28 −0 lib/javascript-static.js
  2. +2 −0 login/index.php
View
28 lib/javascript-static.js
@@ -739,6 +739,34 @@ M.util.get_string = function(identifier, component, a) {
return stringvalue;
};
+/**
+ * Set focus on username or password field of the login form
+ */
+M.util.focus_login_form = function(Y) {
+ var username = Y.one('#username');
+ var password = Y.one('#password');
+
+ if (username == null || password == null) {
+ // something is wrong here
+ return;
+ }
+
+ var curElement = document.activeElement
+ if (curElement == 'undefined') {
+ // legacy browser - skip refocus protection
+ } else if (curElement.tagName == 'INPUT') {
+ // user was probably faster to focus something, do not mess with focus
+ return;
+ }
+
+ if (username.get('value') == '') {
+ username.focus();
+ } else {
+ password.focus();
+ }
+}
+
+
//=== old legacy JS code, hopefully to be replaced soon by M.xx.yy and YUI3 code ===
function checkall() {
View
2 login/index.php
@@ -327,6 +327,8 @@
echo $OUTPUT->box_end();
} else {
include("index_form.html");
+ //focus username or password
+ $PAGE->requires->js_init_call('M.util.focus_login_form', null, true);
}
echo $OUTPUT->footer();

0 comments on commit 2d28584

Please sign in to comment.
Something went wrong with that request. Please try again.