Перезапись в массив… как сохранить то, что я уже записал [дубликат]

361
29 августа 2017, 14:03

На данный вопрос уже ответили:

  • “preventDefault()” или “return false”? 2 ответа

Добрый день. У меня есть пустой массив. Я с помощью функции add_arr добавляю в него значение. В функцию добавил alert, который показывает, что значение было добавлено в массив. А потом как я понимаю (ибо JS я изучаю недавно) происходит перезагрузка страницы и все значения стираются. И когда я нажимаю на кнопку показать массив и она запускает функцию show_arr, то в ней пустой массив. А я, как вы уже поняли, хочу добавлять в массив много значений, а потом нажать на кнопку Показать и я увижу весь массив.... Подскажите, что я не понимаю и какие варианты решения есть.

<script>
var a = [];
function add_arr () {
    var good = document.getElementById("good").value;
    a.push(good);
    alert(a);
}
function show_arr () {
    alert(a);
}
</script>
<form id="rrr" onsubmit="show_arr()">
   <input type="submit" value="Показать массив">
</form>
<form id="rrr" onsubmit="add_arr()">
  Введите значение <input id="good" type="text" value="" placeholder="Товар" ><br>
   <input type="submit" value="Отправить">
</form> 
Answer 1

в onsubmit добавь return, например onsubmit="return show_arr();", а в функциях в конце допиши return false;

в ином же случае у тебя просто по дефолту срабатывает поведение формы - отправка

еще непонятно конечно зачем тут вообще формы

а еще inline уже мало кто пишет. обычно пишут отдельно функции и вешаются слушатели (в данном случае click) при которых будут происходить некие события (например работа функции)

READ ALSO
Meteor js - почему insert добавляет максимум 1000 строк?

Meteor js - почему insert добавляет максимум 1000 строк?

В итоге создаётся лишь 1000 (чуть больше)Почему?

279
Как определить состояние setInterval?

Как определить состояние setInterval?

ПриветДопустим, есть код:

482