decup_website/password.js

49 lines
1.5 KiB
JavaScript

var password_fields = document.getElementsByClassName("password");
var password_toggle_buttons = [];
for (let i = 0; i < password_fields.length; i++) {
try {
password_fields.item(i).type = "password"; // ie8 fails here
password_toggle_buttons.push(document.createElement("button"));
password_toggle_buttons[i].setAttribute(
"style",
"position: relative; top: -38px; right: 2px; float: right; padding: 6px 14px; height: 36px; border: 0"
);
password_toggle_buttons[i].setAttribute(
"class",
"tertiary no-text button"
);
password_toggle_buttons[i].onclick = function () {
showPass(password_fields.item(i).id);
};
password_toggle_buttons[i].type = "button";
var me = document.querySelector("script[data-type='password']");
var icons = me.getAttribute("data-icons");
var alt = me.getAttribute("data-alt");
var img = document.createElement("img");
img.setAttribute("src", icons + "/reveal.png");
img.setAttribute("alt", alt);
password_toggle_buttons[i].appendChild(img);
password_fields
.item(i)
.insertAdjacentElement("afterend", password_toggle_buttons[i]);
} catch (e) {
window.console.log(e);
window.console.log("Browser doesn't support modifying the type of input.");
window.console.log("Password field left visible.");
}
}
function showPass(field_id) {
var password_field = document.getElementById(field_id);
if (password_field.type === "password") {
password_field.type = "text";
} else {
password_field.type = "password";
}
}