Files
grecia/app/assets/javascripts/registration_form.js
Javi Martín 9c13a331ec Avoid side-effects when removing username message
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.
2025-06-27 15:52:33 +02:00

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