In the registration form, after changing the username, we were removing the message about whether a username was available. However, we were also removing every `<small>` tag on the page. This affected the demo branch, where we add a `<small>` tag on every page. So we're now removing a specific element instead.
37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
(function() {
|
|
"use strict";
|
|
App.RegistrationForm = {
|
|
initialize: function() {
|
|
var clearUsernameMessage, showUsernameMessage, usernameInput, validateUsername;
|
|
usernameInput = $("form#new_user[action=\"/users\"] input#user_username");
|
|
clearUsernameMessage = function() {
|
|
$("form#new_user .username-message").remove();
|
|
};
|
|
showUsernameMessage = function(response) {
|
|
var klass;
|
|
klass = response.available ? "no-error" : "error";
|
|
usernameInput.after($(
|
|
"<small class=\"username-message " + klass + "\" style=\"margin-top: -16px;\">" +
|
|
response.message +
|
|
"</small>"
|
|
));
|
|
};
|
|
validateUsername = function(username) {
|
|
var request;
|
|
request = $.get("/user/registrations/check_username?username=" + username);
|
|
request.done(function(response) {
|
|
showUsernameMessage(response);
|
|
});
|
|
};
|
|
usernameInput.on("focusout", function() {
|
|
var username;
|
|
clearUsernameMessage();
|
|
username = usernameInput.val();
|
|
if (username !== "") {
|
|
validateUsername(username);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
}).call(this);
|