Как удалить формы с указанными id в javascript
Пытаюсь "удалить" формы с помощью нижеприведённого кода, но не выходит. Из всех убирается тогда форма с id subdivisionForm. Все айдишники проставлены верно
window.onload = function () {
let subdivisionForm = document.querySelector('#subdivisionForm');
let generalForm = document.querySelector('#generalForm');
let loginShare = document.querySelector('#loginShare');
let passForm = document.querySelector('#passForm');
if (typeof subdivisionForm !== 'undefined' || typeof generalForm !== 'undefined' || typeof loginShare !== 'undefined' || typeof passForm !== 'undefined'){
subdivisionForm.innerHTML = "";
generalForm.innerHTML = "";
loginShare.innerHTML = "";
passForm.innerHTML = "";
}
}
<form id='generalForm' method='post' action='". $url ."'>
<input type='password' name='enterPassword' placeholder='Введите пароль от файла'>
<input type='submit' name='sendPassword' value='Подтвердить'>
</form>
<form method='post' action='$url' id='subdivisionForm'>
<input hidden name='shareChoose' value='$shareChoose'>
<input hidden name='sharePath' value='$path'>
<input hidden name='shareFilename' value='$filename'>
<input type='submit' name='shareSubdivision' value='Поделиться'>
</form>
<form method='post' action='$url' id='loginShare'>
<input hidden name='shareChoose' value='$shareChoose'>
<input hidden name='sharePath' value='$path'>
<input hidden name='shareFilename' value='$filename'>
<input type='text' name='loginForShare' placeholder='Введите логин пользователя'>
<input type='submit' name='shareLogin' value='Поделиться'>
</form>
<form method='post' action='$url' id='passForm'>
<input hidden name='shareChoose' value='$shareChoose'>
<input hidden name='sharePath' value='$path'>
<input hidden name='shareFilename' value='$filename'>
<input type='text' name='pass' placeholder='Введите пароль для скачивания'>
<input type='submit' name='shareGeneral' value='Поделиться'>
</form>
Ответы (2 шт):
Автор решения: Алекс Данилин
→ Ссылка
const myForm = document.forms.myForm
myForm.removeMe.addEventListener('click', () => {
myForm.remove()
})
<form name="myForm">
form here
<button name="removeMe">remove</button>
</form>
можно как-то так, если действительно хочешь удалить форму, а не сбросить
Автор решения: Kirill
→ Ссылка
const forms = [...document.querySelectorAll('form')]
const button = document.querySelector('button')
button.addEventListener('click', () => {
forms.forEach(e => {
if (e) e.remove()
})
})
<form id='generalForm' method='post' action='". $url ."'>
<input type='password' name='enterPassword' placeholder='Введите пароль от файла'>
<input type='submit' name='sendPassword' value='Подтвердить'>
</form>
<form method='post' action='$url' id='subdivisionForm'>
<input hidden name='shareChoose' value='$shareChoose'>
<input hidden name='sharePath' value='$path'>
<input hidden name='shareFilename' value='$filename'>
<input type='submit' name='shareSubdivision' value='Поделиться'>
</form>
<form method='post' action='$url' id='loginShare'>
<input hidden name='shareChoose' value='$shareChoose'>
<input hidden name='sharePath' value='$path'>
<input hidden name='shareFilename' value='$filename'>
<input type='text' name='loginForShare' placeholder='Введите логин пользователя'>
<input type='submit' name='shareLogin' value='Поделиться'>
</form>
<form method='post' action='$url' id='passForm'>
<input hidden name='shareChoose' value='$shareChoose'>
<input hidden name='sharePath' value='$path'>
<input hidden name='shareFilename' value='$filename'>
<input type='text' name='pass' placeholder='Введите пароль для скачивания'>
<input type='submit' name='shareGeneral' value='Поделиться'>
</form>
<button>Remove all forms</button>