Нажатие на кнопку

259
30 сентября 2018, 22:50

Есть код

<div class="column_3" id="hidden_link" onclick="window.location.href=location.href='submit';" style="display:yes"> 
содержимое 
</div>

Хотел сделать так что бы при нажатии в любом месте блока, автоматически нажималась и кнопка регистрации. Блок сделать ссылкой получилось, но при нажатии переходит по адрусу сайт.ру/submit и ошибка 404. Как сделать чтобы при нажатии в блоке нажималась и кнопка регистрации?

Answer 1

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>

Answer 2

Как сделать чтобы при нажатии в блоке нажималась и кнопка регистрации?

Вот такой пример:

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>

Answer 3

Использование события нажатия мыши .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>

READ ALSO
AngularJs, почему не может найти контроллер?

AngularJs, почему не может найти контроллер?

подключил вебпак и angular вылетает с ошибкой

225
NULL значение в Relationship MySql

NULL значение в Relationship MySql

Имеется таблица:

276
Запрет добавление в таблицу данных MariaDB

Запрет добавление в таблицу данных MariaDB

Суть: Если добавлять в таблицы moderators_products и subadmins_products записи, то возможна ситуация при которой один и тот же id из таблицы users будет соответствовать...

231