Как я могу снова вызвать функцию codeGenerator? - PullRequest
0 голосов
/ 12 января 2020

Я написал генератор паролей, в котором вы можете ввести в поле ввода, сколько букв должно быть в сгенерированном пароле.

После нажатия кнопки GeneratePasswords функция создает div с паролями. Есть кнопка Reset, которая удаляет все сгенерированные пароли / div и значение из поля ввода.

Но когда я нажимаю Reset, я не могу снова вызвать функцию CodeGenerator и генерировать мои новые пароли.

Я действительно застрял с этим.

const signs = 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPrRsStTuUwWxXyYzZ0123456789';
const btn = document.getElementById('generate');
const reset = document.getElementById('reset');
const section = document.querySelector('section');
const codeNumber = 3; // number of generated codes
let signNumbers = document.getElementById('signNumbers'); // number of signs in each code


const codesGenerator = () => {
    if (signNumbers.value > 0 && signNumbers.value < 25 && signNumbers !== NaN) {
        for (let i = 0; i < codeNumber; i++) { // how many codes to generate - loop
            let code = '';
            for (let j = 0; j < signNumbers.value; j++) { // how many signs in each code - loop
                const index = Math.floor(Math.random() * signs.length);
                code += signs[index];
            }

            const div = document.createElement('div');
            div.textContent = code;
            section.appendChild(div);
        }
    }
}

const resetAll = () => {
    signNumbers.value = '';
    section.remove();
}

btn.addEventListener('click', codesGenerator);
reset.addEventListener('click', resetAll);
...