27 lines
1 KiB
JavaScript
27 lines
1 KiB
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
const downloadCodeInput = document.getElementById('download_code_input');
|
|
const downloadButton = document.getElementById('download_button');
|
|
const downloadForm = document.getElementById('download_form');
|
|
downloadCodeInput.addEventListener('beforeinput', (e) => {
|
|
if (/^[a-zA-Z0-9-]+$/.test(e.data)) { return; }
|
|
e.preventDefault();
|
|
if (e.data === ' ') {
|
|
downloadCodeInput.value += '-';
|
|
}
|
|
});
|
|
const disableEnableDownload = () => { downloadButton.disabled = (downloadCodeInput.value === ''); };
|
|
disableEnableDownload();
|
|
downloadCodeInput.addEventListener('input', disableEnableDownload);
|
|
downloadForm.addEventListener('submit', (e) => {
|
|
if (downloadCodeInput.value === '') {
|
|
e.preventDefault();
|
|
} else {
|
|
setTimeout(() => {
|
|
downloadCodeInput.value = '';
|
|
downloadButton.disabled = true;
|
|
}, 0);
|
|
}
|
|
});
|
|
downloadCodeInput.focus();
|
|
});
|