Widestrip
@Widestrip
кодер-самоучка

Как в JavaScript вывести текст при нажатии кнопки?

Необходимо вывести массив изнутри функции при нажатии на кнопку.
Вроде все написано правильно, но при нажатии на кнопку данные выводятся, и сразу пропадают.
Ошибок в логе нет.

HTML-код
<!DOCTYPE html>
<html>
	<head>
		<title>Arrays Sorting</title>
		<script src="sorting.js"></script>
		<link rel="stylesheet" type="text/css" href="style.css">
	</head>
	<body>
		<form>
			<button name="generate" onclick="GenerateArray(10);">Generate array</button>
		</form>
		<div id="array"></div>
	</body>
</html>


JS-код
function GenerateArray(n) {
	let arr = [];
	for(let i = 0; i < n; i++) {
		arr.push(Math.round(Math.random() * 1000) + 1);
	}
	document.getElementById('array').innerHTML = arr;
}


Может кто посоветовать, что делать?
  • Вопрос задан
  • 4533 просмотра
Решения вопроса 1
Widestrip
@Widestrip Автор вопроса
кодер-самоучка
В общем задача решена.
Эффект такой возникает из-за того, что кнопка без дополнительных параметров автоматически получает тип "submit" и осуществляет оправку данных и обновление формы.

Лечится одним из двух способов:
1 - убрать форму и размещать кнопки напрямую (если ничего никуда отправлять не планируется)
2 - дописать в кнопку указание типа type="button"

Спасибо комментаторам за помощь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы