Как сделать что бы ссылка отправляла и форму и сама работала, смотрите ниже объяснение?
у меня есть форма, в который ссылки выступают за роль кнопки
<form action="post.php" id="form1" method="POST" class="form">
<div class="input-wrap">
<p class="phone-on-form" >Номер<br> телефона</p>
<input class="input" type="phone" placeholder="+380 Номер телфона" name="num">
</div>
<p class="call-to-action">Шаг №1: Выберите удобный вам мессенджер</p>
<div class="buttons">
<a href=".">
<img src="img/lgt-icon-facebook.svg" class="icon"></img>
<p>Messenger</p>
</a>
<a href=".">
<img src="img/lgt-icon-telegram.svg" class="icon"></img>
<p>Telegramm</p>
</a>
<a href=".">
<img src="img/lgt-icon-viber.svg" class="icon"></img>
<p>Viber</p>
</a>
</div>
</form>
тут ссылка отправляет форму, но не отправляет пользователя по нужной ссылке, может кто знает как исправить? p.s кто не понял надо что бы и отправляло на сайт, и отправляло форму
Ответы (1 шт):
Автор решения: dmitriy_vlz
→ Ссылка
Ну например, как-то так.
const form = document.getElementById('form1')
const btns = document.querySelectorAll('.buttons a')
btns.forEach((btn)=>{
btn.addEventListener('click', (e)=>{
e.preventDefault()
const link = btn.href
form.submit()
window.location = link
console.log('go to '+ link)
})
})
<form action="post.php" id="form1" method="POST" class="form">
<div class="input-wrap">
<p class="phone-on-form" >Номер<br> телефона</p>
<input class="input" type="phone" placeholder="+380 Номер телфона" name="num">
</div>
<p class="call-to-action">Шаг №1: Выберите удобный вам мессенджер</p>
<div class="buttons">
<a href="/test3">
<img src="img/lgt-icon-facebook.svg" class="icon">
<p>Messenger</p>
</a>
<a href="/test2">
<img src="img/lgt-icon-telegram.svg" class="icon">
<p>Telegramm</p>
</a>
<a href="/test1">
<img src="img/lgt-icon-viber.svg" class="icon">
<p>Viber</p>
</a>
</div>
</form>