Столкнулся с проблемой при написании сайта, а именно - не работает генерация пароля. Сама суть задачи в чем - есть поле для ввода пароля, а рядом "Сгенерировать", при нажатии на которое в поле ввода пароля вставляется сгенерированный пароль. Собственно, вот сам кусочек с полем для пароля:
<li>
<label for="">Пароль</label>
<span class="star">*</span>
<input type="text" name="reg_pass" id="reg_pass">
<span id="genpass">Сгенерировать</span>
</li>
Написал вот такой вот скрипт в отдельном файле на php для генерации пароля:
<?php
$number = 7;
$arr = array('a','b','c','d','e','f',
'g','h','i','j','k','l',
'm','n','o','p','r','s',
't','u','v','x','y','z',
'1','2','3','4','5','6',
'7','8','9','0');
// Генерируем пароль
$pass = "";
for($i = 0; $i < $number; $i++)
{
// Вычисляем случайный индекс массива
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
echo $pass;
?>
А это уже ajax-функция, которая обрабатывает "Сгенерировать" и должна сразу выводить сгенерированный пароль в input, однако, увы, почему-то не работает... Располагается функция в отдельном файле, где есть еще и другие функции, которые успешно работают. Вот её код:
$('#genpass').click(function(){
$.ajax({
type: "POST",
url: "/functions/genpass.php",
dataType: "html",
cache: false,
success: function(data) {
$('#reg_pass').val(data);
}
});
});
Помогите, пожалуйста, разобраться, почему функция не работает...
Генерируйте пароль на клиентской строне, зачем зря сервер мучать?
function generatePassword(length = 8){
let alphabet = 'qwertyuiopasdfghjklzxcvbnm';
let pass = '';
while(length--)
pass += alphabet[~~(Math.random()*alphabet.length)];
return pass;
}
UP:
Как это прикрутить:
$('#genpass').click(() => {
$('#reg_pass').val(generatePassword());
});
возвращай json из скрипта:
$ans= [
'pass' => $pass,
];
return json_encode($ans)
и на клиенте получай json:
$('#genpass').click(function(){
$.ajax({
url: "/functions/genpass.php",
cache: false,
dataType: 'json',
success: function(data.pass) {
$('#reg_pass').val(data.pass);
},
error: function() {
alert('Error');
}
});
});
Виртуальный выделенный сервер (VDS) становится отличным выбором
Использую Bootstrap модальные окнаУстановил на сайт онлайн-консультант и при открытии модального окна пропадает скролл прокрутки и происходит...
Привет! Как можно сделать анимацию для слайдера на css, переключение осуществляется стрелками, слайды должны смещать друг другаСами слайды...
Привет, необходимо добавить в таблицу Tempvigruzka столбец dates с сегодняшней датой Пробовал 'Alter table tempvigruzka add dates datetime' но он вводит пустые значения