Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Обновление страницы при нажатии кнопки (https://javascript.ru/forum/events/81483-obnovlenie-stranicy-pri-nazhatii-knopki.html)

vsco89 04.12.2020 16:08

Обновление страницы при нажатии кнопки
 
Здравствуйте, форумчане!
Столкнулся с следующей проблемой: при нажатии кнопки на странице, она обновляется. Как это не допустить?
JS:
var firstRow = document.getElementById("firstRow");
var secondRow = document.getElementById("secondRow");
var thirdRow = document.getElementById("thirdRow");
var mainInput = document.getElementById("mainInput");
var mainButton = document.getElementById("mainButton");

mainButton.onclick = function () {
  let value = mainInput.value;
  if (document.getElementsByClassName("selected") == 0) {
    thirdRow.innerHTML = value;
  } else {
    document.getElementsByClassName("selected")[0].innerHTML = value;
  }
};

HTML:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Лабораторная #5(2)</title>
    <link rel="stylesheet" href="styles/style.css" />
  </head>

  <body>
    <table class="mainTable">
      <tr>
        <td id="firstRow"></td>
      </tr>
      <tr>
        <td id="secondRow"></td>
      </tr>
      <tr>
        <td id="thirdRow"></td>
      </tr>
    </table>
    <form name="mainForm">
      <input type="text" id="mainInput" />
      <button type="submit" id="mainButton"></button>
    </form>

    <script src="js/script.js"></script>
  </body>
</html>

vsco89 04.12.2020 16:20

upd: нашел решение
 
Нужно убрать <form></form>

рони 04.12.2020 16:28

Цитата:

Сообщение от vsco89
Нужно убрать <form></form>

1. изменить тип кнопки
<button type="button" id="mainButton"></button>

2. или отменить действие по умолчанию
mainButton.onclick = function (event) {
    event.preventDefault()
    let value = mainInput.value;
    if (document.getElementsByClassName("selected").length == 0) {
        thirdRow.innerHTML = value;
    } else {
        document.getElementsByClassName("selected")[0].innerHTML = value;
    }
};


Часовой пояс GMT +3, время: 09:49.