Есть код
<div class="column_3" id="hidden_link" onclick="window.location.href=location.href='submit';" style="display:yes">
содержимое
</div>
Хотел сделать так что бы при нажатии в любом месте блока, автоматически нажималась и кнопка регистрации. Блок сделать ссылкой получилось, но при нажатии переходит по адрусу сайт.ру/submit и ошибка 404. Как сделать чтобы при нажатии в блоке нажималась и кнопка регистрации?
var block=document.getElementById("block");
var btn=document.getElementById("btn");
block.addEventListener("click",blockClick);
btn.addEventListener("click",btnClick);
function btnClick() {
console.log("btnClick");
}
function blockClick() {
console.log("blockClick");
btn.click();
}
#block{
cursor:pointer;
margin-bottom: 1rem;
border:1px solid black;
height: 50px;
width:100px;
}
<div id="block">block</div>
<button id="btn">button</button>
Как сделать чтобы при нажатии в блоке нажималась и кнопка регистрации?
Вот такой пример:
var blk = document.querySelector(".blk");
var btn = document.querySelector(".btn")
// Вешаем событие на кнопку
btn.addEventListener('click', function(e) {
e.preventDefault(); // Не отсылает на сервер
console.log('Button clicked');
})
// Вешаем событие на блок
blk.addEventListener("click", function(e) {
btn.click(); // Вызываем событие кнопки
console.log('Block is clicked');
});
.blk {
cursor: pointer;
height: 100px;
width: 100px;
background: red;
}
<div class="blk">Some block</div>
<!-------- Кнопка для submit -------->
<button class="btn" type='submit'>button</button>
Использование события нажатия мыши .click() это не очень хорошая идея, по тому что некоторые браузеры воспримут это поведение за XSS атаку. Вместо этого вам следует генерировать событие .submit().
var background = document.getElementById("background");
var form = document.getElementById("background");
background.addEventListener("click", function(e) {
e.preventDefault();
form.submit();
})
* {
box-sizing: border-box;
}
div {
width: 40%;
padding: 10px;
display: block;
text-align: center;
text-decoration: none;
background-color: coral;
}
<form id="form">
<div id="background">
<button id="button">Кнопка</button>
</div>
</form>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости