Stack Overflow на русском Asked by SvArt713 on December 26, 2021
Подскажите скрипт, чтобы при клике на кнопку предлагалось скачивание файла (при подтверждении скачивался файл) ?
вот пример кнопки:
<button type='submit' class='wow fadeInRight' data-wow-delay='2s'>/
И вот, например, название файла:
kolbasa-primer.xlsx
Самый просто способ - использовать прямую ссылку на файл:
<a href="http://example.com/kolbasa-primer.xlsx" target="_blank">Скачать</a>
Кроме того, используя HTML5, можно указать аттрибут download:
<a href="http://example.com/kolbasa-primer.xlsx" download>Скачать</a>
И, наконец, пример скрипта для скачивания файла:
HTML:
<a href="download.php">Скачать</a>
download.php
$file = '<путь к файлу>';
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
readfile($file);
Answered by Andrei Katalkin on December 26, 2021
Использовать preventDefault() в случаи, если к примеру, был отменён confirm().
var links = document.querySelectorAll('.file');
// Вешаем обработчик "click" на все элементы с классом file
for (var i = 0; i < links.length; i++) {
links[i].addEventListener('click', function(e) {
// Отменяем событие (преход по ссылке или submit) если "Отмена"
if (!confirm('Точно будем качать?')) {
e.preventDefault();
}
}, false);
}
<a class="file" href="file.pdf">Скачать файл 1</a>
<a class="file" href="file.doc">Скачать файл 2</a>
<hr>
<form action="/" method="post">
<button class='wow fadeInRight file' data-wow-delay='2s' type='submit'>Скачать</button>
</form>
confirm() само собой можно заменить на то, что требуется (модальное окно например)
Answered by Alexander Igorevich on December 26, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP